william_dallas Posté 9 Octobre 2008 Posté 9 Octobre 2008 Bonjour à tous, J'ai un moteur de recherche interne à mon site auquel j'ai appliqué plusieurs filtres pour trier les résultats. Tout marche correctement sauf que lorsque l'utilisateur clique sur la page suivante des résultats retournés, les checkbox se decochent et le filtre n'est plus appliqué dès la deuxième page. Je voudrais que lorsque l'utilisateur choisi une checkbox avant de lancer la recherche, celle-ci reste cochée pour toutes les pages suivantes sans que l'utilisateur est a recliqué dessus. <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="get">Rechercher dans : <input type="checkbox" name="check1" value="FR" />Filtre0 <input type="checkbox" name="check2" value="US" />Filtre1 <input type="checkbox" name="check2" value="ES" />Filtre2 <input type="checkbox" name="check4" value="D" />Filtre3 </form> Si quelqu'un a une idée ca serai cool de m'en faire part! Merci
captain_torche Posté 9 Octobre 2008 Posté 9 Octobre 2008 Pour chacune de tes checkbox, tu fais un test pour vérifier si elle est présente en _GET ou _POST, puis tu ajoutes l'attribut checked="checked". par exemple, pour la première : <?php$check = '';if(isset($_GET['check1']))$check = ' checked="checked"';echo '<input type="checkbox" name="check1" value="FR"'.$check.' />Filtre0';?>
william_dallas Posté 9 Octobre 2008 Auteur Posté 9 Octobre 2008 Ah ok, effectivement ton code marche bien lorsqu'on le place dans le <form> seulement mon lien vers la page suivante n'est pas dans ce <form>, la page est recharger entièrement ainsi que le form qui se réinitialise et je ne capte pas comment faire!
captain_torche Posté 9 Octobre 2008 Posté 9 Octobre 2008 Dans ce cas, il faut que ton lien "page suivante" mentionne comme paramètres les différentes cases cochées. Si je coche la case "FR" et "ES", il doit être sous la forme suivante : moteur?php?page=2&check1=FR&check3=ES
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant