voila j’ai un formulaire de recherche avec des select box.
Par default je leur ai attribué une valeure nulle :
...
ma page php récupère les POST sauf que la requête ne me renvoi rien si un des champs n’a pas été choisi (si il a été laissé sur sa valeure nulle donc) car tous les champs sont rensieignés dans ma base.
Je voudrais simplement que la requete sql ignore cette varibale si rien n’a été select dans le choix déroulant.
$sql = 'select * from produits';
$criteria = array();
if (!empty($Propriete)) {
$criteria[] = sprintf("propriete = '%s'", mysql_real_escape_string($Propriete));
}
if (!empty($Application)) {
$criteria[] = sprintf("application= '%s'", mysql_real_escape_string($Application));
}
if ($criteria) {
$sql .= sprintf(' where %s', implode(' and ', $criteria));
}
C’est la solution bourrine de base (j’ai également échappé proprement les $Propriete et $Application, ces dernières ne l’étant pas = injection SQL possible