cybr Posté(e) le 19 mars 2006 Partager Posté(e) le 19 mars 2006 Bonjour, Je desirerai trier des donnés issues d'une base de donné comme cela est fait sur "prix du net", c'est a dire laisser au visiteur le choix de trier par prix, par popularité ou autre dans le sens croissant ou decroissant. Est ce que quelqu'un sait daire ca ?? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ishiro Posté(e) le 19 mars 2006 Partager Posté(e) le 19 mars 2006 Oui... Grossièrement ils faut utiliser ORDER BY dans tes requetes SQL... Pour l'ordre croissant ou décroissant, il faut utiliser ASC et DESC. Ex : SELECT * FROM tbl ORDER BY nom ASC (en supposant que nom soit un champ de la table tbl, ca te fera un classement alphabétique croissant) Pour limiter les résultats, tu peux utiliser LIMIT lignededebut,nombrederesultats. Ex : Select * FROM tbl ORDER BY nom ASC LIMIT 0,20 (pour avoir 20 resultats à partir de la 1ere ligne (0)). Lien vers le commentaire Partager sur d’autres sites More sharing options...
cybr Posté(e) le 19 mars 2006 Auteur Partager Posté(e) le 19 mars 2006 Oui mais cela ne permet pas au visiteur de choisir quel classement ils veulent !! Lien vers le commentaire Partager sur d’autres sites More sharing options...
toon56 Posté(e) le 19 mars 2006 Partager Posté(e) le 19 mars 2006 "SORT BY" Lien vers le commentaire Partager sur d’autres sites More sharing options...
cybr Posté(e) le 19 mars 2006 Auteur Partager Posté(e) le 19 mars 2006 "SORT BY" ca existe ca Si oui comment tu l'utilise ?? Lien vers le commentaire Partager sur d’autres sites More sharing options...
fabien29200 Posté(e) le 19 mars 2006 Partager Posté(e) le 19 mars 2006 Il faut que tu construises la requête en fonction de la colonne à trier. Qd un utilisateur est dans ta page, il peut cliquer sur un lien pour changer de classement. Et ce lien permet de rappeler la page avec un autre paramètre qui est le nom la colonne sur laquelle s'effectuera le tri. herf="page?tri=popularite Ensuite, dans ta page tu construis ta requête : $requete = "SELECT * FROM table ORDER BY " . $GET["tri"]; je garantis pas la syntaxe, mais le principe est là ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ishiro Posté(e) le 19 mars 2006 Partager Posté(e) le 19 mars 2006 Il faut que tu construises la requête en fonction de la colonne à trier. Qd un utilisateur est dans ta page, il peut cliquer sur un lien pour changer de classement. Et ce lien permet de rappeler la page avec un autre paramètre qui est le nom la colonne sur laquelle s'effectuera le tri. herf="page?tri=popularite Ensuite, dans ta page tu construis ta requête : $requete = "SELECT * FROM table ORDER BY " . $GET["tri"]; je garantis pas la syntaxe, mais le principe est là ! On va éviter le $_GET['tri'] dans la requete quand même, c'est pas très propre... Mais le principe est là. Lien vers le commentaire Partager sur d’autres sites More sharing options...
cybr Posté(e) le 19 mars 2006 Auteur Partager Posté(e) le 19 mars 2006 Merci de votre aide ca marche seulement j'ai utilisé ca $afficher=mysql_query("SELECT * FROM table ORDER BY ". mysql_real_escape_string($_GET['order']) .""); est ce que vous savez comment on peut faire pour que une fois les donnés charge dans l'ordre croissant par exemple le visiteur puisse, en cliquant sur le meme lien les classer dans le sens decroissant ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ishiro Posté(e) le 20 mars 2006 Partager Posté(e) le 20 mars 2006 Pour l'ordre croissant ou décroissant, il faut utiliser ASC et DESC. Ex : SELECT * FROM tbl ORDER BY nom ASC (en supposant que nom soit un champ de la table tbl, ca te fera un classement alphabétique croissant) Je ne fais que citer ce que j'ai écrit plus haut... ASC = ordre croissant, DESC = ordre décroissant. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.