J'ai un petit soucis dont je ne parviens pas à venir à bout.
Dans un formulaire de recherche, je demande à l'utilisateur de taper un ou plusieurs mots clés, et facultativement, de sélectionner un département (le cas échéant, la recherche se fera dans tous les département).
Voici le code PHP qui teste si le département a été renseigné, ou non :
CODE
$departement = $_REQUEST["departement"];
if ($departement == "Tous") {
$req_departement = "";
}
else {
$req_departement = "AND s.departement = $departement";
}
if ($departement == "Tous") {
$req_departement = "";
}
else {
$req_departement = "AND s.departement = $departement";
}
En fait, et c'est peut-être maladroit de ma part, je mets dans la variable $req_departement le bout de requête à ajouter à la requête globale que voici :
CODE
$sql_sites = "SELECT s.* FROM annuaire_adresses AS s $req_departement AND s.activation = 1";
Si le département n'est pas renseigné, la requête globale ne filtre pas sur le département en ajoutant une chaîne vide.
Si par contre le département est 75 par ex., la chaîne "AND s.departement = 75" est ajouté à la requête globale.
Le problème, c'est que j'ai des erreurs pas forcément explicites et surtout, ça me met en vrac la fonction recherche...
Je me doute bien que cette méthode n'est pas très élégante mais débutant en php/mysql, je n'ai pas été fichu de trouver mieux !
Merci pour vos bonnes idées