ouarzazat
samedi 6 mai 2006 à 11:52
Je vais te donner un truc que l'on m'a donné sur le hub!
Le principe est de rentrer tes variables de formulaire dans un tableau comme cela par exemple:
CODE
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="testform">
<p>Nom : <input type="text" name="critere[field1]" value="" /<p>
<p>Site : <input type="text" name="critere[field2]" value="1" /<p>
<p>Champ 3: <input type="checkbox" name="critere[field3]" value="1" /<p>
<p><input type="submit" name="submit" value="Envoyer" /> | <input type="reset" name="reset" value="Reset" /></p>
</form>
</body>
</html>
Puis pour définir ta clause WHERE tu utilises une boucle pour fouiner les résultats contenus dans ce tableau, c'est à dire les variables envoyées par ton formulaire:
CODE
$whereclause = "";
foreach($_POST['critere'] as $criterion => $value)
{
if ($value!="")
{
$whereclause .= mysql_escape_string($criterion)."='".mysql_escape_string($value)."' AND ";
}
}
$whereclause = rtrim($whereclause," AND ");
Rassemble tout ça et test:
CODE
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="testform">
<<p>Nom : <input type="text" name="critere[field1]" value="" /<p>
<p>Site : <input type="site" name="critere[field2]" value="1" /<p>
<p>Champ 3: <input type="checkbox" name="critere[field3]" value="1" /<p>
<p><input type="submit" name="submit" value="Envoyer" /> | <input type="reset" name="reset" value="Reset" /></p>
</form>
<?php
$whereclause = "";
foreach($_POST['criteria'] as $criterion => $value) {
$whereclause .= mysql_escape_string($criterion)."='".mysql_escape_string($value)."' AND ";
}
$whereclause = rtrim($whereclause," AND ");
echo $whereclause;
?>
</body>
</html>
Ensuite ta requête sera donc comme suit: SELECT * FROM table WHERE $wherclause
Voilà j'espère que c'est du tout bon pour toi!
++