cybr Posted March 19, 2006 Share Posted March 19, 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 ?? Link to comment Share on other sites More sharing options...
Ishiro Posted March 19, 2006 Share Posted March 19, 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)). Link to comment Share on other sites More sharing options...
cybr Posted March 19, 2006 Author Share Posted March 19, 2006 Oui mais cela ne permet pas au visiteur de choisir quel classement ils veulent !! Link to comment Share on other sites More sharing options...
toon56 Posted March 19, 2006 Share Posted March 19, 2006 "SORT BY" Link to comment Share on other sites More sharing options...
cybr Posted March 19, 2006 Author Share Posted March 19, 2006 "SORT BY" ca existe ca Si oui comment tu l'utilise ?? Link to comment Share on other sites More sharing options...
fabien29200 Posted March 19, 2006 Share Posted March 19, 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à ! Link to comment Share on other sites More sharing options...
Ishiro Posted March 19, 2006 Share Posted March 19, 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à. Link to comment Share on other sites More sharing options...
cybr Posted March 19, 2006 Author Share Posted March 19, 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 ? Link to comment Share on other sites More sharing options...
Ishiro Posted March 20, 2006 Share Posted March 20, 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. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.