Bonjour,
J'ai un petit souci avec une requête mysql_query.
Je souhaite afficher des photos dans une page web, sachant que les chemins d'accès (relatifs) aux photos sont stockés dans les entrées "fichier" de ma table "photo".
En fait je ne souhaite afficher que 5 photos sur la page, et quand on clique sur une fleche (droite ou gauche), on affiche les 5 photos suivantes (flèche droite) qui sont dans la BDD, ou alors les 5 photos précédentes (fleche gauche).
Quand je suis sur la première page de photos, il n'y a pas de souci, ça m'affiche les 5 premières photos.
Par contre dès que j'arrive sur la deuxieme page de photo, ça ne m'affiche plus 5 photos, mais 6 photos. En fait pour être plus précis ça m'affiche la derniere photo de la page suivante des photos.
Je donne un exemple : j'ai 11 photos dans ma BDD (photo1, photo2, ..., photo11), sachant que je n'affiche que 5 photos par page, il me faudra donc 3 pages pour afficher la totalité des photos.
Quand je suis sur la premiere page de photo, ca m'affiche bien : photo1 photo2 photo3 photo4 photo5 .
Quand j'arrive sur la deuxieme page de photos, alors là ça m'affiche : photo6 photo7 photo8 photo9 photo10 photo11 .
Si je rajoute une 12eme photo, alors sur la deuxieme page de photo, ca m'afficherait : photo6 photo7 photo8 photo9 photo10 photo12.
J'ai fait quelque test sur le code et j'en arrive à la conclusion que c'est ma requête mysql_query qui doit foirer :
$retour = mysql_query("SELECT * FROM photo ORDER BY id LIMIT $premiere_photo, $derniere_photo");
Pour la deuxieme page de photo, $premiere_photo correspond à la premiere photo à afficher, $premiere_photo vaut 5, et ainsi $derniere_photo vaut 10 (dernière photo à afficher).
Le problème c'est que au lieu de me renvoyer un tableau de 5 lignes, il me renvoie un tableau de 6 lignes, dont la derniere ligne, contient comme je l'ai déjà expliqué, la derniere photo de la page suivante des photos, donc dans mon exemple avec 12 photos, la 6eme ligne du tableau contiendra la photo12.
Voilà j'espère avoir été clair, et j'attends vos réponses avec impatiente car cela fait maintenant quelques heures que je bataille dessus.
Merci !
Partager