Fomulaire de recherche multicritères en php

Bonjour,
j'ai besoin de faire un formulaire de recherche multicritères, pouvez vous m'aider s'il vous plait.
Sachant que l'utilisateur peut remplis tous les champs ou quelques un.
merci de votre aide.
Configuration: Windows XP
Internet Explorer 7.0

5 réponses

  1. Bonjour,

    si le premier est obligatoire

    tu construit ta requette ainsi:

    $req="SELECT * FROM ta_table WHERE champ1_table='".$_POST['champ1']."'';

    if=($_POST['champ2']!=""){
    $req.=" AND champ2_table='".$_POST['champ2']."'";

    }
    if=($_POST['champ3']!=""){
    $req.=" AND champ3_table='".$_POST['champ3']."'";

    }

    etc..

    et $resultat=mysql_query($req);

    etc....

    @lain
    1. et je suppose que si ce n'est pas obligatoire, je fais des if sur chaque critères?
      Mon soucis est de l'afficher.
      Comment faire pour afficher le résultat sur une autre page sous forme de tableau.
      1. quelqu'un peut m'aider s'il vous plait.
        1. Si aucun n'est obligatoire:

          //avant tu te connectes et selectionne ta base
          $req="SELECT * FROM ta_table WHERE ";
          if=($_POST['champ2']!=""){
          $req.=" champ1_table='".$_POST['champ1']."'";
          }else{
          $req.=" champ1_table LIKE '%'"; //seul le premier comme ça
          }
          if=($_POST['champ2']!=""){
          $req.=" AND champ2_table='".$_POST['champ2']."'";
          
          }
          if=($_POST['champ3']!=""){
          $req.=" AND champ3_table='".$_POST['champ3']."'";
          
          }
          
          //etc..
          
          $resultat=mysql_query($req);
          echo "<table border='1'>";
          echo "<tr><th>champ1_table</th><th>champ2_table</th><th>champ3_table</th></tr>"; //titres
          
          while($ligne=mysql_fetch_array($resultat)){
          	echo "<tr><td>".$ligne['champ1_table']."</td><td>".$ligne['champ2_table']."</td><td>".$ligne['champ3_table']."</td></tr>";
          }
          echo "</table>";
          //  si tu en as plus tu adaptes
          
          
          
          
      2. ok, je ne savais pas que l'on pouvait rajouter des éléments à la requête ainsi.
        je te remercie, je vais essayer.
        1. a la relecture, j'ai fait une petite erreur:

          //avant tu te connectes et selectionne ta base
          $req="SELECT * FROM ta_table WHERE ";
          if=($_POST['champ1']!=""){//il faut le 1 et pas le 2 ici
          $req.=" champ1_table='".$_POST['champ1']."'";
          }else{
          ......