Bonjour tout le monde,
Je tiens d'abord à préciser que je n'ai que très peu de connaissance en PHP.
Voici mon souci :
J'utilise Wordpress pour mon site, je voudrais un système de filtre sur une liste d'objet par exemple :
NOM MARQUE NUMERO DE SERIE DATE ACHAT
J'aimerai que quand je clique sur NOM que je puisse trier les objets par ordre alphabétique croissant/décroissant et ça pour chaque rubrique (Marque, date, etc..).
Je suppose qu'il faut que je varie ma requête SQL en fonction, mais comment implémenter un "bouton" sur NOM pour justement avoir comme sur les sites de ventes une interaction sur le nom de colonne qui permet les tris
Merci d'avance
N'hésitez pas à me poser des questions pour plus d'informations
Cordialement,
# PHP + HTML + SQL
Posté par NeoX . Évalué à 2.
integre les 3 elements à ta reflexion.
1°) le navigateur affiche du code HTML/javascript
ce code va dessiner un lien sur le titre de la colonne
ce lien sera vers la meme page php, mais avec l'option
orderby=namedesc
(classe par nom decroissant)2°) la page php doit recuperer les options qu'on lui passe, et parmi les options elle recupere l'option orderby, et en fonction de cette option, va modifier la requete sql qui sera executée.
3°) la requete sql est executée, le resultat est rendu, la page PHP calcul le rendu HTML (en modifiant le lien sur le nom pour proposer
orderby=nameasc
(classer par ordre de nom croissant) et le donne au navigateurl'etape 3 existe deja (partiellement) vu que tu vas chercher tes objets dans la base.
il te reste donc à faire les etapes 2 et 3.
# du jQuery ?
Posté par shingo (site web personnel) . Évalué à 1. Dernière modification le 02 novembre 2014 à 11:05.
L'idéal, selon moi, pour ce genre de chose, se serait de passer par du jQuery si tu veux le faire de façon transparente. Il suffirait simplement d'intégrer un lien avec une icône et de faire appel à de l'ajax pour ta requête PHP. Après si tu es limite au niveau du code, passes par une requête PHP. Il y a déjà des fonctions prévues à cet effet dans WordPress, mais elles sont très limités selon moi. Ça devient très vite le bordel si tu veux faire une requête un peu complexe. Personnellement, j'ai abandonné WordPress, car dès que tu essaies de faire quelque chose de trop pointilleux, soit t'es bloqué ou soit ça bug dans tous les sens et tu dois te restreindre au bon vouloir des développeurs. Enfin, pour ton triage, ça reste quand même très simple, une requête PHP et avant ta boucle, tu fais une condition afin de détecter si l'utilisateur souhaite trier ou pas le résultat, donc :
Après tu peux faire différentes conditions en fonction de ce que contient la variable $query :
C'est très rudimentaire, mais c'est pour te donner une idée !
# Menu déroulant
Posté par bobmoutarde . Évalué à 1.
Hello,
Merci à vous deux, pour votre réponse. Je suis en train d'étudier ça en plus du php/html.
Effectivement WordPress est très contraignant…
J'avais une autre idée sinon, c'est d'avoir un bouton avec une liste déroulante ==> tri par : (date, ordre alphabétique, croissant etc…) et quand on choisit l'un ça refresh la page avec la nouvelle requête SQL.
Pensez vous que c'est plus simple ?
Cordialement,
[^] # Re: Menu déroulant
Posté par shingo (site web personnel) . Évalué à 1.
Je ne pense pas que se soit plus simple, mais ça dépend ce que tu veux faire. Dans les deux, cas si tu utilises un formulaire pour trier le résultat, ça revient au même qu'insérer une glyphicon avec un petit lien. Au moment où l'utilisateur va cliquer sur le lien, la page va se rafraichir avec cette fois des informations exemple :
Trier par date
Tu pourras donc savoir que la page doit générer une requête par date.
[^] # Re: Menu déroulant
Posté par NeoX . Évalué à 2.
le bouton avec la liste deroulante n'est que la presentation des choix precedemments cités.
tu voulais pouvoir cliquer en tete de la colonne, il faut mettre un lien dans chaque colonne avec les options qui disent au PHP quel tri tu veux faire.
dans la liste deroulante, tu regroupes simplement les memes liens, et tu fais la meme chose qu'en tete de colonne.
tu peux aussi faire les deux, l'utilisateur ayant le choix alors d'utiliser ta liste deroulante ou le titre de la colonne selon ce qu'il trouve le plus pratique/ergonomique.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.