Bonjour, je voudrais faire un module de recherche très simple qui permettrait de retrouver des infos dans la base de donnée. Mais cela suivant un OU deux critères. C'est à dire que l'utilisateur pourra choisir de rechercher suivant, en l'occurrence, le département et le secteur d'activité.
J'ai donc utilisé deux listes déroulante <select>.
Problème : je n'arrive pas à rechercher dans la bd en fonction d'un seul critère si il n'y en a qu'un de sélectionné.
Il me recherche a chaque fois des résultats suivant les 2 critères et donc il ne trouve rien lorsque je n'en sélectionne qu'un.
voilà un bout de code :
$sql = "SELECT etablissement FROM fiches WHERE departement='$selectValueDepartement' and secteur='$selectValueSecteur'";
if (empty($selectValueDepartement) and (empty($selectValueSecteur)))
{
echo "remplir les champs";
}
if (empty($selectValueDepartement) and (!empty($selectValueSecteur)))
{
$sql = "SELECT etablissement FROM fiches WHERE secteur='$selectValueSecteur'";
}
if (!empty($selectValueDepartement) and (empty($selectValueSecteur)))
{
$sql = "SELECT etablissement FROM fiches WHERE Departement='$selectValueDepartement'";
}
// lance la requête
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// recupere le resultat sous forme d'un tableau
$data = mysql_fetch_array($req);
// libère l'espace mémoire
mysql_free_result ($req);
mysql_close ();
?>
Resultat de la recherche :<br />
<?php echo $data'etablissement'];
?>