Formulaire de recherche : option non choisie
pixel
-
pixel -
pixel -
Bonjour,
Je souhaite mettre sur mon site un genre de petit moteur de recherche, dans lequel je n'impose pas a l'utilisateur de faire un choix pour ttes les options.
ex :
sexe H ou F
enfants OUI ou NON
Ensuite je fais un
mysql_query("SELECT * FROM table WHERE sexe='post[sexe]', enfants='post[enfants]'");
Mon pb est le suivant:
Si le visiteur ne precise pas le nbre d'enfants de sa recherche on aura un post[enfants] = ''
(empty) et donc la requete mysql ne renverra que les personnes ayant un nombre d'enfant egal à '' et donc la il y a un bug
Comment faire pour eviter ce pb ?? (j'espere avoir eté claire :s)
merci a vous
Je souhaite mettre sur mon site un genre de petit moteur de recherche, dans lequel je n'impose pas a l'utilisateur de faire un choix pour ttes les options.
ex :
sexe H ou F
enfants OUI ou NON
Ensuite je fais un
mysql_query("SELECT * FROM table WHERE sexe='post[sexe]', enfants='post[enfants]'");
Mon pb est le suivant:
Si le visiteur ne precise pas le nbre d'enfants de sa recherche on aura un post[enfants] = ''
(empty) et donc la requete mysql ne renverra que les personnes ayant un nombre d'enfant egal à '' et donc la il y a un bug
Comment faire pour eviter ce pb ?? (j'espere avoir eté claire :s)
merci a vous
3 réponses
-
Hello
Tu dois avoir un moyen pour mettre la valeur 0 par défaut pour les champs que tu désire
Ou tu peut modifier ta base de données pour que la table qui contient le nombre d'enfants accepte la valeur null. -
Bonjour,
non il faut faire une requette "adaptée" aux valeurs saisies
une piste:
$query="SELECT * FROM table WHERE sexe='post[sexe]'"; if(isset($_POST['enfants'] AND $_POST['enfants']!="")){ $query.=" AND enfants='$_POST['enfants']'"; } $req=mysql_query($query);
etc...
remarque au passage c'est POST et pas post
et les conditions dans WHERE ne sont pas avec des virgules mais des OR ou des AND etc.... -