j'ai un formulaire de recherche qui comprend :
1 champ texte = NOM
et plusieurs champs checkbox = fonction....
lors de la recherche j'arrive à extraire les données lorsque je ne fais qu'un choix dans les checkbox, mais si je veux une liste avec plusieurs checkbox cela ne fonctionne pas je pense que mon script de recherche n'est pas bon... quelq'un à une idée...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <form method="post" name="form1" action="test_search.php"> <label>nom</label><input name="searchvar1" class="form3" type="text" value="<? echo $searchvar1; ?>"> <label>fonction</label> <input type="checkbox" name="searchvar2[]" value="01" <? if (ereg("01.*",$searchvar2)) {echo " checked=checked";} else {}; ?> />Député<br /> <input type="checkbox" name="searchvar2[]" value="02" <? if (ereg("02.*",$searchvar2)) {echo " checked=checked";} else {}; ?> />Directeur<br /> <input type="checkbox" name="searchvar2[]" value="03" <? if (ereg("03.*",$searchvar2)) {echo " checked=checked";} else {}; ?> />Technicien<br /> <input type="checkbox" name="searchvar2[]" value="04" <? if (ereg("04.*",$searchvar2)) {echo " checked=checked";} else {}; ?> />Membre du secrétariat<p/> <input type="checkbox" name="searchvar2[]" value="05" <? if (ereg("05.*",$searchvar2)) {echo " checked=checked";} else {}; ?> />Patron de presse<br /> <input type="checkbox" name="searchvar2[]" value="06" <? if (ereg("06.*",$searchvar2)) {echo " checked=checked";} else {}; ?> />Ancien sénateur<p/> <input type="checkbox" name="searchvar2[]" value="07" <? if (ereg("07.*",$searchvar2)) {echo " checked=checked";} else {}; ?> />Président d'une association<br /> <input type="image" name="submit" src="images/icones/ok.gif" alt="valider" /> </form>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 echo $bidule = implode(', ' , $HTTP_POST_VARS['searchvar2']); $requete="SELECT * FROM test "; if ((empty($searchvar1)) && (empty($searchvar2))); elseif (empty($searchvar2)) $requete.="WHERE nomtest like '%$searchvar1%'"; elseif (empty($searchvar1)) $requete.="WHERE test like '%$bidule%'"; elseif ((!empty($searchvar1)) && (!empty($searchvar2))) $requete.="WHERE nomtest like '%$searchvar1%' AND test like '%$bidule%'"; $requete.=" ORDER BY nomtest ASC"; $result=mysql_query($requete); $totalresult=mysql_num_rows($result);







Répondre avec citation




Partager