Formulaire de recherche : option non choisie

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

3 réponses

  1. donald44 Messages postés 65 Statut Membre 2
     
    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.
    0
  2. Alain42
     
    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....
    0
  3. pixel
     
    excellent par concaténation alain !
    surtout pour plus de 2 critères !!

    merci bien
    a+
    0