Modérateur PHPfrance |
10684 Messages
21 mars 2006, 11:08
Si tu n'as que 3 critères, tu n'as effectivement que 3 if à mettre en place, ces tests étant "faut-il filtrer la recherche sur ce critère"
Les différentes valeurs que peuvent prendre ces critères sont généralement issues d'un formulaire, tu n'as donc pas à t'en soucier au niveau de ta requête
L'exemple de Reman est très bien, c'est également comme ça que je procède
// tu peux toujours l'écrire ainsi (encore qu'un switch/case serait plus adapté)
if($critere==1)
$sql.= "WHERE champ = 1";
if($critere==2)
$sql.= "WHERE champ = 2";
if($critere==3)
$sql.= "WHERE champ = 3";
// mais cette solution est quand même nettement plus : jolie, lisible, maintenable (cherchez pas, y a pas de mention inutile à rayer ;))
if(isSet(critere) && !empty($critere))
$sql.= "WHERE champ = $critere";