Probleme d'incrémentation

Eléphanteau du PHP | 13 Messages

24 avr. 2008, 11:48

Bonjour,

voila je possede une BDD ou se trouve une table revue de presse comportant un id_revue, un nom_revue(=nom de l'image) ainsi qu'une date_revue.

Sur mon site internet je possede une page revuedepresse.php qui me liste les annees des differentes revue de presse (la pas de souci).lorsque je clique sur une de ces dates, par le bié d'une variable revue qui recupere la date selectionné
<a href='<?php echo "revue.php?revue=" . $resultat['date_revue']."&i=0" ?>'>
Pas de souci la encore.
La ou arrive les probleme c'est qu'il existe plusieurs nom_revue (image) pour une meme date (date_revue).
Je voudrai donc que ma page de destination revue.php m'affiche l'image de lannée selectionné dont l'id est le plus faible et qu'a l'aide de bouton suivant et précedent je parcours toute mes image (de l'année selectionné.

Voila se que j'ai essayé de faire mais fonctionne pas
<?php 
mysql_connect("******", "*******", "");
mysql_select_db("********");

$ind=$ind + $_GET['i'];

$id = mysql_query('SELECT id_revue FROM revue_presse WHERE date_revue=\'' . $_GET['revue'] . '\' order by id_revue');
$id_revue=mysql_fetch_array($id);//tableau recupérant tout les id correspond a ma date selectionné precedemment


$total=count($id_revue);


$retour = mysql_query('SELECT nom_revue FROM revue_presse WHERE date_revue=\'' . $_GET['revue'] . '\' AND id_revue=\'' . $id_revue['ind'] .'\' ');
	$donnees=mysql_fetch_array($retour);
?>
	<p><img alt="" src="revue_de_presse/<?php echo $donnees['nom_revue'] ?> " /></p>


<div id="revue">
<ul >
	<li class="precedent"><a href='<?php echo "revue.php?revue=" . $_GET['revue'] ."&i=-1" ?>'></a></li>
	<li class="suivant"><a href='<?php echo "revue.php?revue=" . $_GET['revue'] ."&i=1" ?>'></a></li>
</ul>
</div>
Donc je sais ya beaucoup d'erreur mais j'arrive pas a m'en sortir, merci de votre aide...

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

24 avr. 2008, 12:12

mais fonctionne pas
ça veut dire quoi exactement ?

Regarde (et suis) les conseils de débuggage :
http://www.phpfrance.com/forums/voir_sujet-19378.php

Et renseigne toi éventuellement sur "LIMIT" de MySQL

Eléphanteau du PHP | 13 Messages

24 avr. 2008, 14:06

bah deja sur ma page seul mes bouton precedent suivant aparesse (aucune image) ensuite quand je clique sur suivant ma variable $ind passe a 1 mai si je reclique plusieur fois elle restera a 1.Le -1 ne fonctionne pas, et voila ^^
A si pour finir ma variable $id_revue ne retourne strictment rien ^^

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

24 avr. 2008, 14:10

Ok mais comme tu as cliqué sur mon lien et lu attentivement tu as du voir ce point :
Faites des essais, et testez-les directement dans MySQL, via phpMyAdmin ou une autre interface de MySQL.
Au passage, une bonne habitude est de créer un modèle de requête qui marche puis d'insérer ce code SQL dans le script PHP pour le rendre dynamique. Autant ne pas multiplier les risques d'erreur en testant à la fois le PHP et le SQL.
Donc tu vas le faire hein ? :)

Eléphanteau du PHP | 13 Messages

24 avr. 2008, 14:48

euh mercu j'ai vu m'ai ca m'aide pas, c'est simplement que j'ai un niveau faible en php et que ce que j'essai de faire ne fonctionne pas.
Merci quand meme

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

24 avr. 2008, 14:59

Comment ça ça t'aide pas ?

Justement on s'en fout de ton niveau en PHP là tu bosses d'abord sur la requête SQL !

Parceque en testant directement via PHP tu multiplies les causes possibles d'erreurs.

Alors tant que tu n'as pas un modèle de requête qui fonctionne et te renvoie ça : "Je voudrai donc que ma page de destination revue.php m'affiche l'image de lannée selectionné dont l'id est le plus faible " je pense que ce n'est pas la peine non ?

De plus toujours dans mon post il est indiqué de faire afficher les erreurs MySQL, tu le fais ça ? t'es sûr qu'elle passe ta requête ? Tu sais ce qu'elle renvoie ?

Quand on vient demander de l'aide, la moindre des choses c'est de suivre un peu les conseils, pas de trier ce qu'on pense être utile ou pas.

Eléphanteau du PHP | 13 Messages

24 avr. 2008, 15:13

ouaw du calme, mes requete SQL fonctionne, lorsque je fai un <?php echo $id_revue[0];?> j'ai comme resultat 1 2 3 7 8 9 correspondant a l'id des photos de l'année selectionnée.

Je compren pas pkoi deja c'est avec un revue[0] que j'ai mes resultat, justement je pensé que revu 0 m'afficherai le 1er enregistrement de mon mysql_fetch_array, echo $id_revue[1] n'affichant rien :s

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

24 avr. 2008, 15:18

Moi je fais avec ce que tu me donnes donc bon, j'essaie de comprendre.

Fais
echo '<pre>';
print_r($id_revue); 
echo '</pre>';
pour visualiser le tableau que tu récupères
AND id_revue=\'' . $id_revue['ind'] .'\' ');
doù vient ce 'ind' ? EDIT: je viens de voir au début.

Fais toi un schéma, sur papier, avec tes variables et tout, et ensuite exécute ton code en mode debug (ou au pire en mettant des echo) pour visualiser, la pagination c'est chiant.
Sinon, je crois qu'il y a un sujet dans la FAQ.
Modifié en dernier par ouckileou le 24 avr. 2008, 15:27, modifié 1 fois.

Eléphanteau du PHP | 13 Messages

24 avr. 2008, 15:25

jai modifier un peu mon code dc je le met a jour :
$id = mysql_query('SELECT id_revue FROM revue_presse WHERE date_revue=\'' . $_GET['revue'] . '\' order by id_revue');
while($id_revue=mysql_fetch_array($id))//tableau recupérant tout les id correspond a ma date selectionné precedemment
{
echo '<pre>';
print_r($id_revue); 
echo '</pre>'; 
}
en retour j'ai :

Code : Tout sélectionner

Array ( [0] => 1 [id_revue] => 1 ) Array ( [0] => 3 [id_revue] => 3 ) Array ( [0] => 4 [id_revue] => 4 ) Array ( [0] => 5 [id_revue] => 5 ) Array ( [0] => 7 [id_revue] => 7 ) Array ( [0] => 9 [id_revue] => 9 )
euh le ind c'été ma variable $ind s'en au...syntaxe movaise j'imagine...pas tapé :s