Deux options : avec rechargement (complet) de la page, ou dynamiquement (sans la recharger).
Si la modification est dynamique, pas le choix, il te faut du javascript. Y a deux manières de faire :
1) trier le tableau en javascript ;
2) envoyer une requête au serveur qui retournera le contenu trié, lequel contenu remplacera le cotenu actuel de la page (méthode AJAX, c'est ce qui est utilisé par Google pour les suggestions de rercherche ou dans GMail, ça permet de rafraîchir juste des bouts de la page).
Le javascript c'est pas toujours hyper simple, à moins que tu n'aspires à faire un site Web 2.0, je te conseille la méthode classique qui suit, simple et efficace.
Avec une nouvelle requête au serveur (et un nouveau chargement de page) il te suffit de mettre des liens pour trier en en-tête de tes colonnes, avec des paramètres qui indiqueront dans la requête les paramètres de tri.
Pour pouvoir trier le contenu, il faut bien entendu que ton contenu soit généré, par exemple en utilisant PHP. Il existe plusieurs
fonctions de tri en PHP, et il n'y a pas de manière de faire unique : ça va dépendre du reste de ton code (ex. suivant que tes données proviennent d'une base de données ou pas). Je m'étais fait une lib générique pour ça, mais c'est difficilement utilisable tel quel (ça dépend d'autres choses, etc.).
Dans les grandes lignes, il faut :
- récupérer les critères de tri passés dans l'URL ;
- trier le tableau en fonction de ces critères ;
- générer les en-têtes de colonnes avec des liens comportant les paramètres pour le tri ;
- générer le contenu du tableau avec les données triées.
Mes explications sont un peu confuses (surtout au début), j'espère que l'idée générale est passée.
Avec un bout de code ou un exemple plus précis, je devrais être en mesure de t'aider. Si tu as juste une question ça marche aussi.