Je viens demander conseil aux utilisateurs de phpfrance, car je suis face un dilemne.
Sur un page web, j'affiche une liste des utilisateurs enregistrés dans la base de données du projet. Et j'aimerais pouvoir trier ce tableau de façon croissante et décroissante, en cliquant sur le titre des colonnes.
Avant de venir poster, j'ai evidemment réflechi au probleme quelques minutes, et deux solutions s'offrent à moi.
1. A chaque clic sur un titre de colonne, je mets à jour la requete SQL qui va chercher l'ensemble des utilisateurs, et je lui applique un "filtre" en fonction de quelle colonne a été cliquée. Dans ce genre là :
if($colonne == 'login') {
$filtre = 'ORDER BY user_login';
}
f($colonne == 'mail') {
$filtre = 'ORDER BY user_mail';
}
$sql = "SELECT * FROM users ".$filtre";
Ce système va prendre un peu de temps, et encore un peu de reflexion, pour mettre au point le tri croissant/décroissant.2. l'autre solution que j'ai envisagée est de stocker ma requête de base dans un tableau PHP, et de lui appliquer une fonction de tri php, du genre sort(), a chaque clic sur le titre de la colonne. Je n'ai encore jamais utilisé cette fonction, donc je ne sais pas encore de quoi il en retourne, et si ce que je souhaite faire est facile à mettre en place avec cette solution.
Donc, selon vous, quelle serait-elle la meillure des solutions ? En avez-vous d'autres ?