Par tri des tableaux, on va supposer que tu parles de tri de tableaux en PHP sur le serveur.De toute façon, dans ce cas, tu vas être obligé de faire un appel à ton serveur pour qu'il te renvoie du code HTML généré par PHP avec les données triées dans le bon ordre.
la structure de ta page est donc
Code : Tout sélectionner
1) Lire l'argument de tri
2) Récupérer les données
3) Trier les données
4) Mettre les données en forme
5) Renvoyer une page formée au browser
Si je comprends bien, tu veux une comparaison sur les étapes 2 et 3
--> Solution tri en tableau :
Etape 2
La première fois, tu es obligé de lire les données dans la base. Puis, tu les stockes dans une variable de session
Les fois suivantes, tu vérifies que ton tableau est en variable de session et tu l'utilises directement sans lire dans la base
Etape 3 :
Tu appliques des fonctions de tri dans ton tableau multidimensionnel pour trier les colonnes.
Avantage :
-tu n'as lu ta base qu'une seule fois sans se soucier du tri
Inconvénients :
-tu es obligé de conserver ton tableau en variable de session autant de fois qu'il y a d'utilisateurs connectées
-tu vas écrire des fonctions callback pour les tris usort() selon les colonnes
--> Solution select avec order by
Les étapes 2 et 3 sont mélangées puisque le tri est inclus dans la requête
Avantages :
- tout est inscrit dans la requête
- rien n'est conservé en mémoire du serveur après l'envoi de la page au browser
Inconvénients :
- En SQL tu dis que tu tries sur la colonne A, puis sur la colonne B, ... ce qui laisse moins de possibilités que des tris plus sophistiqués que tu pourrais écrire dans une fonction callback (mais est-ce vraiment nécessaire dans ce cas).
- Tu fais un accès à la base de données à chaque affichage de page
Bref, à moins que tu aies une base surchargée avec des centaines d'utilisateurs simultanés qui s'amusent à trier ton tableau de milliers de communes, la solution 2 est quand même nettement la meilleure, que ce soit au niveau de l'efficacité que celui de la lisibilité du code.
Tu peux également regarder vers le XML/XSL qui permet d'effectuer des tris en local sans avoir besoin de recharger la page,

mais là, je laisse parler les spécialistes.
Regarde
cet exemple très simple de tri d'élèves par note (Test 5), par age (test 6) et par ordre alphabétique (Test 7) (l'exemple ne semble fonctionner que pour IE)