Trier les colonnes d'un tableau
Résolu
Loobsix
Messages postés
63
Date d'inscription
Statut
Membre
Dernière intervention
-
Loobsix Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
Loobsix Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un tableau en PHP qui repose sur une BDD phpMyAdmin
je voulais savoir comment faire pour trier les resultats dans mon tableau par ordre croissant ou decroissant en cliquant sur le nom de la colonne que je souhaite trier
j'espere que vous avez compris et vous remercie d'avance
Bonne journee
j'ai un tableau en PHP qui repose sur une BDD phpMyAdmin
je voulais savoir comment faire pour trier les resultats dans mon tableau par ordre croissant ou decroissant en cliquant sur le nom de la colonne que je souhaite trier
j'espere que vous avez compris et vous remercie d'avance
Bonne journee
A voir également:
- Php trier tableau selon colonne
- Trier colonne excel - Guide
- Tableau word - Guide
- Déplacer colonne excel - Guide
- Tableau ascii - Guide
- Colonne word - Guide
7 réponses
Alors,
plusieurs options s'offre à vous.
- écrire un script en JavaScript qui pourra faire le tri dans le tableau HTML
(Je pourrai pas t'aider, je galère moi même sur un problème similaire, mais j'ai l'algo en tête et je vais surement pondre ça dans les jours à venir)
-Utilisez une librairie JavaScript qui fera le tri automatiquement :http://tympanus.net/codrops/2009/10/03/33-javascript-solutions-for-sorting-tables/
C'est deux premières options permette un tri dynamique
- Créer un lien html sur ID ou Clients qui enverra une instruction en paramètre (page.php?tri=ID&opt=desc)
Puis coder une fonction PHP qui va récupéré les variables tri et opt afin de trier le tableau selon l'id ou le client de façon croissant ou décroissant avant de l'afficher
Cette option nécessite une actualisation de la page.
Si vous n'avez pas de contrainte concernant le langage à utiliser, la troisième option me parait la plus simple.
Cordialement
plusieurs options s'offre à vous.
- écrire un script en JavaScript qui pourra faire le tri dans le tableau HTML
(Je pourrai pas t'aider, je galère moi même sur un problème similaire, mais j'ai l'algo en tête et je vais surement pondre ça dans les jours à venir)
-Utilisez une librairie JavaScript qui fera le tri automatiquement :http://tympanus.net/codrops/2009/10/03/33-javascript-solutions-for-sorting-tables/
C'est deux premières options permette un tri dynamique
- Créer un lien html sur ID ou Clients qui enverra une instruction en paramètre (page.php?tri=ID&opt=desc)
Puis coder une fonction PHP qui va récupéré les variables tri et opt afin de trier le tableau selon l'id ou le client de façon croissant ou décroissant avant de l'afficher
Cette option nécessite une actualisation de la page.
Si vous n'avez pas de contrainte concernant le langage à utiliser, la troisième option me parait la plus simple.
Cordialement
C'est loin d'être Opti, mais ça fera déjà une idée de comment s'y prendre :
1) Creer une page PHP, qui récupère deux variables, ordre et tri.
Elle contient également la requête PDO qui s'occupe du tri.
2) Utiliser ce code pour appeler la fameuse page :
Le code de ton tableau HTML :
3) Pour l'affichage/la mise à jour du résultat, il devra être fait en JS depuis la page PHP après avoir récupérer les infos
ou utiliser le success de la requete :
edit: Commentaires, corrections
1) Creer une page PHP, qui récupère deux variables, ordre et tri.
Elle contient également la requête PDO qui s'occupe du tri.
2) Utiliser ce code pour appeler la fameuse page :
function requete(a, b){ // on crée une fonction JS avec comme "entrée" a et b $.ajax({ //on appel ajax type: "GET", //on indique le type d'envoi (POST ou GET) en soit on s'en fiche ici puisque qu'on passe directement les paramètres dans l'url (méthode barbare) url: "requete.php?ordre="+a+"&tri="+b // on retrouve a et b de notre fonction }); }
Le code de ton tableau HTML :
<th> <!-- th pour le titre, la premiére ligne du tableau --> <a href="#" onclick="javascript:requete('id', 'desc');">ID</a> <!--on creer un lien qui ne méne à rien (#) et on ajoute onclick (quand l'utilisateur clique sur le lien, on execute la fonction requete avec en paramètre) exemple, l'ID et DESC pour un tri décroissant par ID --> </th>
3) Pour l'affichage/la mise à jour du résultat, il devra être fait en JS depuis la page PHP après avoir récupérer les infos
ou utiliser le success de la requete :
type: "",
url: "",
success: function(){ //success s'execute si la requete demander c'est bien effectué
}
edit: Commentaires, corrections
PS : la question a deja ete posee plusieurs fois mais jamais de reponse donc c'est pourquoi je la pose a nouveau
Salut;
Il me semble, que la question a été posé ici (et qu'elle a été résolu):
https://forums.commentcamarche.net/forum/affich-1313150-php-trier-un-tableau
Maintenant, j'entends parler de colonnes. c'est donc un tableau html que vous voulez triez ?
Cordialement
Il me semble, que la question a été posé ici (et qu'elle a été résolu):
https://forums.commentcamarche.net/forum/affich-1313150-php-trier-un-tableau
Maintenant, j'entends parler de colonnes. c'est donc un tableau html que vous voulez triez ?
Cordialement
J'ai justement deja trouve cette reponse sur le site mais cela ne m'a pas aide. La structure de mon tableau est en html, sinon tout ce qui est dedans c'est du PHP car il s'agit en fait du contenu de ma BDD.
Le probleme le plus gros est que c'est mon maitre de stage qui me demande de faire cela et leur script que je dois modifier fait plus de 1000 lignes, c'est pour cela que je recherche un peu d'aide :p
Le probleme le plus gros est que c'est mon maitre de stage qui me demande de faire cela et leur script que je dois modifier fait plus de 1000 lignes, c'est pour cela que je recherche un peu d'aide :p
Oui parfaitement
Maintenant je voudrais que le tableau se trie quand on clique sur le titre d'une des colonnes : par exemple le tableau des clients, je veux que les resultats soient affiches dans l'ordre croissant des ID des clients, donc je clique sur idClient -> le tableau se trie.
Ensuite je voudrais que ce soit trie en decroissant, je reclique.
PS : desole je met aucun accent mais je suis a l'etranger et le clavier est en qwerty
Maintenant je voudrais que le tableau se trie quand on clique sur le titre d'une des colonnes : par exemple le tableau des clients, je veux que les resultats soient affiches dans l'ordre croissant des ID des clients, donc je clique sur idClient -> le tableau se trie.
Ensuite je voudrais que ce soit trie en decroissant, je reclique.
PS : desole je met aucun accent mais je suis a l'etranger et le clavier est en qwerty
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Il ne parlerai pas de trier un array php plutôt ?
tout est la : https://www.php.net/manual/fr/array.sorting.php
de plus si ce tableau vient de mysql, n'est il pas plus simple de changer la requête en fonction du tri souhaité ?
tout est la : https://www.php.net/manual/fr/array.sorting.php
de plus si ce tableau vient de mysql, n'est il pas plus simple de changer la requête en fonction du tri souhaité ?
Ok merci mais cela me permet de trier le tableau lors de son affichage, mais je voudrais le trier comme je veux par la suite, par exemple si j'ai : ID - Nom - Prenom
Le tableau se trie par ordre croissant des ID au depart : chose que je pourrais faire avec la page que tu m'a donne. Par la suite si je veux trier par ordre decroissant je reclique sur ID
Si je veux trier par ordre croissant des prenoms je clique sur prenom, etc, etc
Le tableau se trie par ordre croissant des ID au depart : chose que je pourrais faire avec la page que tu m'a donne. Par la suite si je veux trier par ordre decroissant je reclique sur ID
Si je veux trier par ordre croissant des prenoms je clique sur prenom, etc, etc
Je up le topic car je n'ai toujours pas trouve solution a mon probleme
Quel est le problème ?
Qu'elle solution parmi les trois proposé avez vous choisis ?
Quel est le cahier des charges ? (essayez d'être clair ! Tri dynamique ? etc ...)
Avez vous au moins testé ou tenter l'une des trois solution ?
Si oui, envoyer nous votre code !
Je tiens à rappeler que CCM est un forum d'entre aide ! Nous ne sommes pas la pour faire le travail à votre place, mais pour vous aidez dans l'avancement de ceux ci !
Qu'elle solution parmi les trois proposé avez vous choisis ?
Quel est le cahier des charges ? (essayez d'être clair ! Tri dynamique ? etc ...)
Avez vous au moins testé ou tenter l'une des trois solution ?
Si oui, envoyer nous votre code !
Je tiens à rappeler que CCM est un forum d'entre aide ! Nous ne sommes pas la pour faire le travail à votre place, mais pour vous aidez dans l'avancement de ceux ci !
Merci :)