Formulaire de recherche : option non choisie

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. 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
    1. 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
      1. excellent par concaténation alain !
        surtout pour plus de 2 critères !!

        merci bien
        a+
        0