ORDER BY

xeroxiss Messages postés 85 Date d'inscription samedi 30 juillet 2005 Statut Membre Dernière intervention 7 mai 2009 - 25 sept. 2007 à 19:28
xeroxiss Messages postés 85 Date d'inscription samedi 30 juillet 2005 Statut Membre Dernière intervention 7 mai 2009 - 27 sept. 2007 à 12:07
    Hello !

    Voila je post parceque je ne trouve vraiment pas de réponse cohérente a mon problème.

    Je désire créer un lien sur une entête de tableau alimenté en mysql qui trierai la colone.

    Par exemple : une colone Nom, une colone Prénom, une colone email...etc...

    On clique sur Nom et les nom de la colones se trie... (alphabétiquement)

    J'ai essayer beaucoup de possibilité, avec switch, avec get $order, $tri, etc...

    Si vous avez une idée ou simplement un liens sur un tuto, ... merci !
   
    Bonne soirée

    Xerox

5 réponses

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
26 sept. 2007 à 17:59
Hello,

ta réponse est dans le titre, non ? ORDER BY. Le titre des colonnes ce sera soit un simple lien href avec variable GET, ou du javascript avec submit...
ya aussi des sources javascripts de tableaux qui se réorganisent sans recharger, regarder la source de bultez sur javascriptfr.com
a+
0
R3dDragon Messages postés 62 Date d'inscription dimanche 30 juillet 2006 Statut Membre Dernière intervention 14 avril 2009
26 sept. 2007 à 18:13
Exemple:
http://tonsite.com/tapage.php
Puis deux liens dans ta page, un pour ASC, et un pour DESC:
http://tonsite.com/tapage.php?ordre=ASC
OU
http://tonsite.com/tapage.php?ordre=DESC

Tu n'as plus qu'à reprendre la variable GET pour l'introduire dans ta requête.

Pensez à mettre une sécurité, que si une personne tente d'afficher la page sans aucune de ces deux variables, qu'elle renvoie automatiquement vers ASC ou DESC.
Exemple:
<?php   
if ($ordre== "")
{
echo "Vous n'avez pas donné de préférences d'affichage...";
}
?>
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
26 sept. 2007 à 22:53
Reddragon : tu parles de sécurité mais tu laisses toi-même une faille béante...

on ne met pas

if ($ordre== "")
{
echo "Vous n'avez pas donné de préférences d'affichage...";
}

mais plutôt

if ($ordre != 'DESC' and $ordre != 'ASC')
{
echo "Vous n'avez pas donné de préférences d'affichage...";
}
0
R3dDragon Messages postés 62 Date d'inscription dimanche 30 juillet 2006 Statut Membre Dernière intervention 14 avril 2009
27 sept. 2007 à 11:30
Merci de corriger!

Je suis débutant, donc je m'excuse!

Mais heureusement tu passe derrière moi et tu me corrige!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
xeroxiss Messages postés 85 Date d'inscription samedi 30 juillet 2005 Statut Membre Dernière intervention 7 mai 2009
27 sept. 2007 à 12:07
Hello,

Enfaite ce que j'essaye c'est de trier par critères.
Que pensez vous de ce code ? Merci de votre aide ^^

if ($ordre != 'DESC' and $ordre != 'ASC')
{ $sql = "SELECT * FROM mabase ORDER BY nom";
}
elseif ($ordre != 'DESC' and $ordre != 'ASC')
{ $sql = "SELECT * FROM mabase ORDER BY prenom";
}
else // si rien n'a été précisé
{ $sql = "SELECT * FROM mabase";
}

Et pour les liens :

[liste.php?orderbynom=asc Trier par ordre croissant NOM]
[liste.php?orderbyprenom=desc Trier par ordre décroissant PRENOM]
0
Rejoignez-nous