Recherche multicritères

Eléphant du PHP | 233 Messages

05 avr. 2014, 10:23

Bonjour à tous,
je voudrais faire une recherche selon 3 critères (menu déroulant pour chaque).
Ma requête actuelle ci-dessous affiche les résultats uniquement si je rempli les 3 champs. Je voudrais donc afficher les résultats peu importe si le choix est sur 1, deux ou 3 champs

Merci d'avance de vos réponses...
<?php

 $region = mysql_real_escape_string(htmlspecialchars ($_POST['region']));
     $departement = mysql_real_escape_string(htmlspecialchars ($_POST['departement']));
     $sexe = mysql_real_escape_string(htmlspecialchars ($_POST['sexe']));
		

$reponse = mysql_query("SELECT * FROM membres JOIN region USING(id_region) JOIN departement USING (id_departement) where sexe='".$_POST['sexe']."' and membres.id_region='".$_POST['region']."' and membres.id_departement='".$_POST['departement']."'")or die(mysql_error());


while ($donnees = mysql_fetch_array($reponse)) 
....
?>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

06 avr. 2014, 12:49

Salut,

Il faut construire dynamiquement la requête.

En clair
If(!empty($_POST['region']){
$sql .= 'and idregion='.$idregion;
}

Pense a gérer le cas ou il n'y a pas de critères précédent (donc éviter where and)

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 233 Messages

06 avr. 2014, 13:01

Merci je vais tester comme ça.