|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : juin 2009 Messages : 24 ![]() |
Bonjours!
Sur l'un de mes sites, j'ai ajouté quelques pages pour la mise en ligne de photo. Tout s'est plutôt bien déroulé: upload sans problème, les photos s'affichait bien quand on cliquait sur leur titre dans une liste. Seulement voilà: quand on veut regarder l'album photo en entier, c'est assez lassant de revenir à chaque fois à la liste pour sélectionner la photo suivante. Du coup, j'ai rajouté un petit bouton, permettant de passer directement à la photo d'après, qui marchait lui aussi à la perfection: les photos étant numérotées d'un id, il suffisait d'incrémenter l'id et ça marchais. Cependant, faille insidieuse, il arrive que des photos ait été supprimées. Du coup, il y as un "trou" dans la liste des id (ex: la photo 4 supprimée, la liste d'id est: [1,2,3,5,6...]). Bien sûr, quand on clique sur "photo suivante" depuis la photo 3, on obtiens une page blanche pour la photo 4 (logique!). J'ai ainsi écrit un petit scrit qui vérifiais si la photo existais ou pas (en vérifiant si par exemple son nom étais différent de "") et qui, en fonction, renvoyais l'id de la photo à afficher (le suivant, ou celui d'encore après, etc.). Voici le script: Code :
En revanche, si ce n'est pas le cas... Eh bien, on n'entre pas dans le if... mais pas dans le else non plus! C'est-à-dire qu'on tourne sur une boucle infinie. Si je sort le $id++; du else, il s’exécute correctement et la boucle se termine (mais du coup, la boucle n'as plus aucun intérêt...). Si je rajoute quelque chose d'autre dans le else (un echo, par exemple) il ne s'exécute pas. Je ne vois pas du tout ce qui pourrais créer cela (pour moi, si on a un if... else, on rentre forcément soit dans le if, soit dans le else?) et toute aide serait la bienvenue =) En vous remerciant d'avance... |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Méthode beaucoup plus simple : ta requête l'id précédent ou suivant directement.
Code :
|
||
|
|
10
|
|
|
#3 | ||
|
Membre chevronné
![]() Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 836 ![]() |
Bonjour,
pourquoi ne pas traiter ce problème directement avec MySQL ? Une requête comme celle là ne conviendrait-elle pas ? Code :
Par contre, comme l'a dit sabotage, se connecter à chaque fois à la base de données n'est vraiment pas bon..
__________________
Dire Straits, Bob Dylan, Led Zeppelin, the Who, Pink Floyd, AC/DC, Guns & Roses, the Doors, ... |
||
|
|
00
|
|
|
#4 | ||
|
Membre confirmé
![]() ![]() Inscription : décembre 2006 Messages : 307 ![]() |
Je pense que la solution a été apportée, mais comme une chose m'a sauté aux yeux dans 2 posts sur 3 ....
Quelque chose du genre est une hérésieen terme de sécurité : Code :
__________________
Prestataires, inscrivez vous dans l'annuaire e-commerce des prestataires - foe.hn : un raccourcisseur d'url fun, avec API |
||
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : juin 2009 Messages : 24 ![]() |
Effectivement, la solution proposée fonctionne et est manifestement plus élégante.
Merci à tous pour vos réponses et conseils =) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com