LIMIT et ordre de tri

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : LIMIT et ordre de tri

Re: LIMIT et ordre de tri

par Gico » 09 sept. 2009, 23:16

Et désolé pour le titre, je connais le règlement je me suis emporté. merci

Re: LIMIT et ordre de tri

par Gico » 09 sept. 2009, 23:15

Super c'était ça, à présent ça fonctionne.

merci

Re: Probele

par zeus » 09 sept. 2009, 23:05

Modération :
Merci d'utiliser un titre clair et qui correspond bien à ta demande.
Les titres contenant "HELP !", "Aidez-moi", "J'ai un problème", "Ça marche pas",...
n'apportent rien à la compréhension de ta demande.

Par ailleurs, nous savons déjà par ton message que tu as besoin d'aide.

Tu peux corriger ton titre en éditant ton premier message.

Merci de prendre le temps de lire les règlements.

Re: Probele

par Babounet » 09 sept. 2009, 22:57

Si tu enlève le LIMIT, ta seconde requête te renvoie TOUS les enregistrements dont la ref précèdent l'enregistrement courant.
Avec ton LIMIT 1, elle ne t'en renvoie que le premier enregistrement correspondant à la requête, en l'occurrence, l'enregistrement ayant la ref la plus petite.

Essaye de rajouter un ORDER BY.

Résultat:
$query_rs_previous = "SELECT articles.reference, articles.IDarticle FROM articles WHERE articles.reference < '".$row_rsarticles['reference']."' ORDER BY articles.reference DESC LIMIT 1";
De cette manière, la requête recherchera tous les résultats dont la ref est inférieure (comme précédemment) mais cette fois triés en sens inverse, c'est à dire, l'enregistrement aayant la référence la plus proche de ton enregistrement actuel en premier (et c'est donc celui-ci que ton LIMIT 1 te renverra)

LIMIT et ordre de tri

par Gico » 09 sept. 2009, 22:47

Bonjour
pour réaliser un système de navigation dans une page d'article( article suivant, article precedent), j'ulise ces requetes
$query_rs_next = "SELECT articles.reference,  articles.IDarticle  FROM articles WHERE articles.reference > '".$row_rsarticles['reference']."' LIMIT 1";

$query_rs_previous = "SELECT articles.reference, articles.IDarticle FROM articles WHERE articles.reference < '".$row_rsarticles['reference']."' LIMIT 1";
La première fonctionne sans problème, la seconde me ramène toujours à la première entrée et non pas à la precedente
'reference' est du type ref1001, ref1002...
bref l'ordonnement est bien capté dans un sens pas dans l'autre.

Si vous savez pourquoi...merci