Lorsque l’on a des tableaux de 5 ou 6 colonnes que l’on souhaite pouvoir trier de façon croissante ou décroissante sur chaque colonne, ça fait tout de suite du boulot à développer en PHP.
Le client doit ré afficher toute la page, ce qui peut être long (1 ou 2 secondes), et votre serveur doit régénéré la page (et donc refaire les éventuels calculs) puis il doit executer l’algorithme de trie.
En bref, les inconvénients de trier ses tableaux en PHP:
-Très long a développer.
-Lent pour le client
-Consomme des ressources serveurs.
Pour régler ces problèmes, j’ai trouvé un script excellent qui est fait en javascript et qui permet de faire tout ça très facilement.
En bref, les avantages:
-Très rapide à installer
-Rapide pour le client.
-Ne consomme pas de ressource serveur.
Exemple du script
Billet du créateur [en]
Script
Installation
Tout d’abord, dans votre header vous devez inclure le fichier javascript, vous obtiendrez quelque chose comme ça:
<script type="text/javascript" language="JavaScript" src="ADRESSE DU FICHIER.js"></script>
Ensuite, dans votre tableau, la première ligne qui contient les intitulés doit être faite de <th> et non pas de <td>.
Pour chaque colonne, on régle le trie en ajoutant une class a la balise th correspondant.
Par exemple, avec la classe suivante:
class=”sortable-text”
On rend la colonne “sortable”, c’est a dire “triable”, et on indique le type de trie: text ou numeric vous serons les plus utiles.
Ensuite ….
…..
C’est fini, inclure le javascript, régler le haut du tableau, c’est tout ce que vous aviez à faire. Merveilleux n’est-ce pas?
PS: C'est une copie du billet que j'ai posté dans mon blog de geek