Page 1 sur 1

Trier les résultats d'un tableau?

Posté : 16 mars 2005, 18:03
par ced007
Bonjour a tous,
Désolé de ma question mais je débute et comme je n'ai pas su trouver mon bonheur dans votre forum.....
Voila J'affiche trés bien sur une page web un tableau qui va chercher des infos dans ma base de donnée.

Ex: Nom | Prénom | adresse | N° Tél

Jusque la tous va bien!
La liste apparait suivant ce que j'inscrit dans ma requette!
Ici: ORDER BY Nom";

Ce que je souhaiterais faire, c'est que l'on puisse cliquer sur par exemple "Prénom" et que mon tableau se classe par prénom. Idem pour adresse: En cliquant sur adresse mon tableau se reclasse automatiquementt. etc..
Je sais pas si je me suis bien exprimé mais je vous demande un peu d'aide.

Merci

Cédric

Posté : 16 mars 2005, 18:06
par flitox
Tu te fais un lien comme ça :

Code : Tout sélectionner

<a href="tonlien.php?tri=prenom">Trier par prénom</a> <a href="tonlien.php?tri=adresse">Trier par adresse</a>
Et dans ta requête SQL, tu mets :

Code : Tout sélectionner

query = "SELECT * FROM table ORDER BY ".$_GET['tri']."";

Posté : 16 mars 2005, 18:10
par demipoulp
si si c'ets clair ....

il faut faire un ORDER BY $variable

est tu renseigne variable en fonction de l'option choisi ...
if(isset($_GET['selection'])) { $selection=$_GET['selection'];}
switch ($selection2 {
case nom:
$order =" ORDER BY nom DESC ";
 break;
case prenom :
$order =" ORDER BY prenom ASC ";
   break;
default :
$order =" ORDER BY idASC ";
break;
}
ta requete :
$q=mysql_query("SELECT .... FROM .... WHERE  $order ");
et tes liens de selection :

<a href="tapage.php?selection=nom" target="_self">Trie par nom</a>


etc ....
enfin quelque chose comme ca :wink:

Posté : 16 mars 2005, 18:30
par ced007
merci de vos réponses.
Bon par contre je lutte pas mal!

Je comprends le système mais j'ai des erreurs!

Voici ma requette que j'ai :

[code]
$sql=" SELECT nom, prenom, adresse, tel FROM carnet ORDER BY nom
[/code]

et mon lien:

[code]
<a href="page.php?selection=nom" target="_self">Trier par nom</a>
[/code]

Donc ma question:

Je dois le metre ou et comment l'adapter cette partie:

[code]
if(isset($_GET['selection'])) { $selection=$_GET['selection'];}
switch ($selection2 {
case nom:
$order =" ORDER BY nom DESC ";
break;
case prenom :
$order =" ORDER BY prenom ASC ";
break;
default :
$order =" ORDER BY idASC ";
break;
}

[/code]

Encore merci pour votre aide

Posté : 16 mars 2005, 19:12
par ced007
Merci pour votre aide, a force de chercher j'ai trouvé!!
Encore merci

Cédric