|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : novembre 2002 Messages : 120 ![]() |
Bonjour à tous
Je cherche à récupérer dans ma bdd un par un les fichiers (en fait à la demande de l'utilisateur) par ordre décroissant, j'ai donc (avec une variable php) : Code :
" SELECT fichier FROM tablefichier ORDER BY fichierId DESC LIMIT $numeroFichier,".($numeroFichier+1) MAIS peut aussi demander de voir les fichiers suivants, c'est là que ça coince : comment faire pour que mon LIMIT ne dépasse pas le nombre de fichier dans la table (sans passer par le php svp, donc sans connaître le MAX ou le COUNT à l'avance) ??? Merci
__________________
et ne sont pas des options...
|
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : décembre 2008 Messages : 64 ![]() |
Bonjour,
Tu dis que cette requête fonctionne, en es-tu sûr ? A mon avis, si $numerofichier vaut 4, le select va te renvoyer 5 records en partant du 5ieme record du select (s'il y en a au moins 10 bien sûr) Donc ta requête devrait plutôt être : Code :
"SELECT fichier FROM tablefichier ORDER BY fichierId DESC LIMIT $numeroFichier,".'1' Si tu es au bout, la requête ne renverra rien, il suffit donc de tester le retour me semble t-il. Cordialement |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : novembre 2002 Messages : 120 ![]() |
Effectivement ma requête fonctionne.
Quand tu demandes un LIMIT 0, 30 tu demandes les réponses de 0 à 30. Si je demande $numero, $(numero+1) j'aurais alors 1 seul résultat à partir de mon numéro. C'est en fait comme si je demandais un id avec WHERE id=$numero mais pour des raisons diverses, je n'ai pas d'id de ce type int autoincrement simple Je vais voir si je peux tester mon résultat avant de valider le retour.
__________________
et ne sont pas des options...
|
|
|
00
|
|
|
#4 | |
![]() ![]() Inscription : octobre 2008 Messages : 1 508 ![]() |
Citation:
Ceci dit, si ton programme php ne lit que la première ligne de résultats ça revient au même, c'est juste que des données inutiles sont transférées. |
|
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : novembre 2002 Messages : 120 ![]() |
Effectivement, autant pour moi...
J'utilise toujours un while pour récupérer mes résultats mais un " return " peu visible trainait par là... Pour mon problème qui reste, j'aimerais vraiment éviter le test APRES la requête, car si le résultat est vide, alors il faut que je relance une autre requête qui récupère le ($numero-2). Pire : si un imb*** demande le $numero = 60 et que ma table s'arrête à 10, je vais boucler pendant un moment, surcharger mon serveur (grosses données à récupérer à chaque fois). Merci.
__________________
et ne sont pas des options...
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com