Page 1 sur 1

Liste déroulante et affichage immédiat

Posté : 25 avr. 2008, 11:51
par kaikai
Bonjour,

Je realise actuellement un projet de site commercial.

J'ai une page produit qui affiche les derniers produits de la base par order décroissant par défaut.

En haut de ma page j'ai des option permettant de trier ses produits par nom, prix, genre, etc.

Ces options sont dans une liste.

Je voulais savoir comment faire pour faire marcher ses option sachant que des que la personne selectionne nom les produits doivent se classer.


Merci d'avance de votre aide en espérant avoir ete clair

Posté : 25 avr. 2008, 11:56
par guilt92
Bonjour,

Deux options :

1. Il faut que tu regardes du coté du javascript / Ajax pour pouvoir faire la chose suivante :
lorsque l'utilisateur choisit une valeur dans la liste de tri tu généres une requete SQL avec un ORDER BY correspondant à la valeur de la liste (ORDER BY prix, ORDER BY genre ...), tu exécutes cette requete et tu modifie le contenu de la liste des produits avec les résultats de la nouvelle requete.

2. Si tu ne souhaites pas faire d'ajax tu stockes tous les résultats de ta requete dans un tableau, et lors du choix d'une valeur de tri tu tries ce tableau (en php avec sort() ou en javascript) et ensuite tu modifies la valeur du container qui contient les produits...

Posté : 25 avr. 2008, 12:06
par kaikai
Merci de cette réponse claire. Je test ca de suite

Posté : 25 avr. 2008, 14:30
par VaN
a mon avis ce n'est pas le fait que la page se recharge qui le tracassait, mais plutot que le tri se fasse quand l'utilisateur selectionne une des <option> du <select>, sans avoir à appuyer sur un bouton pour lancer le tri. Dans ce cas là, il suffit de soumettre le formulaire grâce à l'attribut onchange, dans le select.

Code : Tout sélectionner

<form action="" method="post" name="formulaireTri"> <select name="tri" id="selectTri" onchange="document.formulaireTri.submit();"> <option value="nom">par nom</option> <option value="prix">par prix</option> </select></form>