Tri php avec usort()
Fermé
poudigne
-
13 déc. 2009 à 16:55
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 - 13 déc. 2009 à 18:18
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 - 13 déc. 2009 à 18:18
A voir également:
- Tri php avec usort()
- Tri excel - Guide
- Easy php - Télécharger - Divers Web & Internet
- Logiciel tri photo gratuit - Guide
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- En cours de traitement sur le site de tri local ✓ - Forum Consommation & Internet
3 réponses
Tu a vu juste, en fait.. au debut je testais mon script avec usort() jai changer pour uksort() pour tester. par la suite jai rajouter mon code pour convertir en multi et remettre en uni, et j'ai oublier d'enlever le k ! :) je l'ai vu et je l'ai enlever et tout fonctionnais #1 !! :D
Donc a tu as raison, merci quand meme pour ton aide même si je l'ai trouvé seul !:P
Donc a tu as raison, merci quand meme pour ton aide même si je l'ai trouvé seul !:P
Groarh
Messages postés
682
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
28 juin 2015
185
13 déc. 2009 à 18:18
13 déc. 2009 à 18:18
Et j'ai un autre conseil ^^
La fonction strcmp fonctionne bien pour ce que tu veux faire. Au lieu des if/else de compare, tu peux faire simplement :
La fonction strcmp fonctionne bien pour ce que tu veux faire. Au lieu des if/else de compare, tu peux faire simplement :
return strcmp($x[$tri], $y[$tri]);;)
Groarh
Messages postés
682
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
28 juin 2015
185
13 déc. 2009 à 18:08
13 déc. 2009 à 18:08
Salut,
approche intéressante du tri par colonne. Je vais m'en inspirer dans mes prochaines applications tiens :P
Sauf qu'il y a un unique problème : tu appelles ta fonction de tri avec les clés du tableau $tabATrier. Donc la fonction compare reçoit non pas les tableaux mais les clés…
Ce qui se passe, c'est que $x[$_GET['tri']] et $y[$_GET['tri']] sont indéfinis, et le test == renvoie toujours 0, car les deux valeurs sont équivalentes à false.
Pour que ton script marche, il suffit d'enlever un 'k'… xD
uksort => usort
Un petit conseil par ailleurs : pour garantir que ta valeur GET est bien un nombre (comme les paramètres GET sont visibles, il y a toujours un petit malin qui peut les trafiquer), fais un cast :
L'autre avantage du truc est que si la valeur n'est pas définie ou n'est pas un nombre, tu obtiens 0. Du coup, ton script trie sur la première colonne par défaut.
approche intéressante du tri par colonne. Je vais m'en inspirer dans mes prochaines applications tiens :P
Sauf qu'il y a un unique problème : tu appelles ta fonction de tri avec les clés du tableau $tabATrier. Donc la fonction compare reçoit non pas les tableaux mais les clés…
Ce qui se passe, c'est que $x[$_GET['tri']] et $y[$_GET['tri']] sont indéfinis, et le test == renvoie toujours 0, car les deux valeurs sont équivalentes à false.
Pour que ton script marche, il suffit d'enlever un 'k'… xD
uksort => usort
Un petit conseil par ailleurs : pour garantir que ta valeur GET est bien un nombre (comme les paramètres GET sont visibles, il y a toujours un petit malin qui peut les trafiquer), fais un cast :
$tri = (int) @$_GET['tri'];
L'autre avantage du truc est que si la valeur n'est pas définie ou n'est pas un nombre, tu obtiens 0. Du coup, ton script trie sur la première colonne par défaut.