Trier par ordre alphabétique [PHP] - PHP - Programmation
Marsh Posté le 01-07-2005 à 11:59:40
Bah on pourrait avoir le code qui recupère la liste des fichiers .. ?
Marsh Posté le 01-07-2005 à 12:02:29
Pas besoin.
Tu as visiblement un tableau de tableaux associatifs.
$filetab[$i]['nom'] contient le nom du fichier.
Utilise usort() sur $filetab, avec une fonction de comparaison qui compare le champ 'nom' de chacun des éléments de $filetab.
A moins de faire le boulot à ta place, je ne peux pas être plus précis
Marsh Posté le 01-07-2005 à 14:12:02
merci je vais essayer, si vous voulez je vous uploade le code source
Marsh Posté le 01-07-2005 à 14:32:57
heu en fait je comprends pas trop la fonction usort()
je doit comparer le nom avec quoi ?
voici le code source demandé par Gaspard77
Code :
|
Marsh Posté le 01-07-2005 à 14:46:42
En gros, usort() va parcourir ton tableau en prenant les éléments deux par deux. Et pour chaque paire d'éléments, elle va appeler ta fonction de comparaison, en lui passant en paramètre les deux éléments de la paire.
Ta fonction de comparaison - appelons là comparer() - doit :
- prendre en paramètre deux arguments A et B
- si dans l'ordre dans lequel tu veux trier ton tableau A doit aller avant B : comparer($A, $B) doit renvoyer -1
- si dans l'ordre dans lequel tu veux trier ton tableau A doit aller après B : comparer($A, $B) doit renvoyer 1
- si les deux éléments sont de même ordre : comparer($A, $B) doit renvoyer 0
Dans ton cas, ta fonction comparer() s'écrit :
Code :
|
Il ne reste plus qu'à faire :
Code :
|
Et le tour est joué
Marsh Posté le 01-07-2005 à 15:15:07
yes merci c'est déja plus clair !!!
grand merci a toi, c'est vraiment génial de tomber sur des personnes qui explique comme ça
je vais essayer et je vous montre le résultat
Marsh Posté le 01-07-2005 à 18:36:19
bon g testé ça marche pas
comment on integre le usort($reptab, 'comparer'); dans le code ?
moi je l'ai mis juste avant l'affichage des noms des fichiers
Marsh Posté le 04-07-2005 à 00:37:45
je pensais a un truc, ça doit bouffer des ressources ce script non ? si il doit comparer 1300 fichiers pour les trier... paske là ça met quand meme bcp de temps a afficher la page
http://flasheur.free.fr/warcraft3/
Marsh Posté le 01-07-2005 à 11:19:45
salut !!
j'ai récupéré un petit script PHP sur le net pour me lister un répertoire qui contient environ 1300 fichiers, ça donne ça: http://flasheur.free.fr/warcraft3/maps (je l'ai un peu modifié visuellement)
l'embetant c'est qu'il affiche les fichiers dans le désordre et j'aimerais qu'il soit classé par ordre alphabétique, avant je savais le faire quand j'essaiyai le PHP mais je le faisait sur les base de données MySQL, là je sais pas le faire...
y'a 2 fichiers dans le script: fonctions.php et index.php
je vous donne la partie qui liste les fichiers
vous y comprenez quelquechose ou pas ?
sinon si y'a une autre maniere de lister un dossier, en conservant ce coté esthétique qui permette un lien sur chaque fichier je suis preneur
merci