Formulaire de recherche avec checkbox

drebin78945 Messages postés 15 Date d'inscription mercredi 29 mars 2006 Statut Membre Dernière intervention 11 avril 2006 - 4 avril 2006 à 19:29
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 - 4 avril 2006 à 20:45
Bonjour,

je cherche partout, et je n'arrive pas à trouver un tuto accessible et complet sur les checkbox dans un formulaire de requete sql.

je m'explique, j'ai une page recherche.php qui contient un formulaire de recherche multi-criteres, avec des champs texte, et un champ où l'utilisateur peut cocher aucun, un ou plusieurs choix.

Autant j'arrive bien a recuperer les variables pour les champs "zone de
texte" autant je n'y arrive pas pour les cases à cocher cad pour le
champ "année"(ou l'utilsateur peut choisir entre de 0 à 7 cases de 2000
à 2006)

recherche.php:
<tt style="font-size: 9pt;">
$login = $_POST['login'];

$prenom = $_POST['prenom'];

$nom = $_POST['nom'];

$annee = $_POST['annee'];



$select = "SELECT login,prenom,nom,annee FROM utilisateurs

WHERE login='$login' AND prenom='$prenom' AND nom='$nom' AND ( annee='$annee'
OR annee='')
</tt>
Si quelqu'un peut m'apporter ses lumières, ou m'indiquer un bon tuto!

Merci d'avance.

<tt style="font-size: 9pt;"></tt>

6 réponses

sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
4 avril 2006 à 19:37
salut,

on peut selectionner plusieurs années ?

tu es sur que ce seraient pas des boutons radio plutot

ou une liste

montre le code du form pour voir
0
drebin78945 Messages postés 15 Date d'inscription mercredi 29 mars 2006 Statut Membre Dernière intervention 11 avril 2006
4 avril 2006 à 20:13
salut,

oui, il ya sept années au choix : de 2000 à 2006
et l'utilisateur peut en choisir de 1 à 7

voilà le code du formulaire (j'ai viré les balise du tableau pour simplifier le code) :

<form name="form1" method="post" action="reslutat.php">
Nom




Prenom





Annee:


2000


2001


2002


2003


2004


2005


2006





</form>
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
4 avril 2006 à 20:25
bon suis pas un specialiste mais d'apres ce que j'ai compris il faut un tableau

le même name pour les input

"annee[]" type= "checkbox" value="2000" />

2000


" annee[] " type ="checkbox" value="2001" />

2001


...



que tu recuperes par

$annee[] = $_POST['annee'];



et que tu construises ta requete en fonction des cases cochées

avec une boucle genre for each ?
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
4 avril 2006 à 20:43
bon j'essaie sans tester



$annee[] = $_POST['annee'];


<tt>

$select = "SELECT login,prenom,nom,annee FROM utilisateurs
WHERE login='$login' AND prenom='$prenom' AND nom='$nom' AND (";

</tt>

for($i=0;$i<count($annee);$i++)

{

if($i>0) select.=" or ";

$select.=" annee=' ".$annee[$i]." ' ";

}

$select.=")";



echo $select; // pour voir mais je ne jurerai de rien

et il faut être sur qu'une case au moins est cochée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
drebin78945 Messages postés 15 Date d'inscription mercredi 29 mars 2006 Statut Membre Dernière intervention 11 avril 2006
4 avril 2006 à 20:45
ok je vais essayer dans ce sens

merci pour ton aide!
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
4 avril 2006 à 20:45
for($i= 0;$i<count($annee);$i++)

{

if($i>0) $ select. =" or ";

$select.=" annee=' ".$annee[$i]." ' ";

}

$select.=")";
0
Rejoignez-nous