Tri par URL

Avatar du membre
ViPHP
ViPHP | 3008 Messages

05 avr. 2005, 13:51

Bonjour,

Je voudrais effectuer des tris sur des données affichées à partir d'une base.

Par exemple deux petites flèches pour trier les villes par ordre croissant et décroissant.

J'utilise pour le moment un passage en URL : index.php?tri=asc et bien sûr dans le select de la base je récupère le $_GET['tri'] correspondant.

Mais cette méthode ne me satisfait pas étant donné que dès qu'on met par exemple tri=tasc, ça plante...normal...

Avez-vous une autre méthode pour faire ce genre de tri de façon à éviter ce genre de pb et qu'elle soit plus sûre ?

Merci encore pour vos réponses ! :wink:

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

05 avr. 2005, 15:16

Mais cette méthode ne me satisfait pas étant donné que dès qu'on met par exemple tri=tasc, ça plante...normal...
Mais pourquoi veux-tu passer tasc comme paramètre ???
Avez-vous une autre méthode pour faire ce genre de tri de façon à éviter ce genre de pb et qu'elle soit plus sûre ?
passer en URL : index.php?tri=1 (ou 2) et avoir ce code :
// si tri = 1 : ascendant
// si tri = 2 : descendant
$req = "SELECT champ1, champ2 FROM table ORDER BY champ1 ".($_GET['tri'] == 1 : "" : "DESC");

Avatar du membre
ViPHP
ViPHP | 3008 Messages

05 avr. 2005, 15:18

Ce n'est pas moi qui vais le faire lol, mais si quelqu'un s'amuse (je ne sais pour quelle raison) à mettre "tasc" bé ça va planter. Je sais, ça ne lui servira à rien de faire ça mais bon lol

Je vais faire ta méthode c'est déjà mieux :)

Merci ;)

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

05 avr. 2005, 15:39

Ce n'est pas moi qui vais le faire lol, mais si quelqu'un s'amuse (je ne sais pour quelle raison) à mettre "tasc" bé ça va planter.
Il y a des gens du Marketing qui utiliseront ces pages ? :lol:

Dans ce cas, tu peux aussi tester la valeur.
$tri = ( (isset($_GET['tri']) && $_GET['tri']=="DESC") ? $_GET['tri'] : "");
$req = "SELECT champ1, champ2 FROM table ORDER BY champ1 ".$tri;
Et là, tu es tranquille. :wink:

Avatar du membre
ViPHP
ViPHP | 3008 Messages

05 avr. 2005, 16:08

Ok c'est nickel, je rectifierais tout ça :)

Merci ;)

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

05 avr. 2005, 16:26

Et il est où, le [RÉSOLU] ? :twisted: :twisted: :twisted:

Avatar du membre
ViPHP
ViPHP | 3008 Messages

05 avr. 2005, 16:39

Parce que...parce que...je ne l'ai pas encore essayé ? loooool

Oki oki je met résolu quand même, au plus profond de moi je sais que ça marche :wink: