Jump to content

trier des donnes MySQL


Recommended Posts

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

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

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

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à. :reflechis:

Link to comment
Share on other sites

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

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. :yes:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...