Par défaut Comment faire une recherche avec plusieurs critères à partir de formu

Signaler
-
Bonjour,

J'aimerai faire un site internet qui affiche toute ma base de données quand je ne choisi aucun critère dans mon menu, mais lorsque je choisis un ou plusieurs critères et que j'appuie sur valider, seul les élèments qui correspondent aux critères s'affichent.
J'ai donc fait cela sur une page que j'ai nommé catalogue.php pour sélectionner les critères que l'on veut voir apparaitre :
           <form method="POST" action="catalogue.php">
                    <fieldset>
                    <input type="radio" name="motif" value="soleil" id="soleil"/>
                      <label for="soleil"> Soleil</label><br>
                      <input type="radio" name="motif" value="lune" id="lune" />
                      <label for="lune"> Lune</label><br>
                      <input type="radio" name="motif" value="etoile" id="etoile" />
                      <label for="etoile"> Étoile</label><br>
                      <input type="radio" name="motif" value="planete" id="planete"/>
                      <label for="planete"> Planéte</label>
                    </fieldset>
                    <input type="submit" name="typemotif" value="Valider">
                  </form>

                  <form method="POST" action="catalogue.php">
                    <fieldset>
                    <input type="radio" name="position" value="Droite" id="Droite" />
                      <label for="Droite"> Droite</label><br>
                      <input type="radio" name="position" value="Gauche" id="Gauche" />
                      <label for="Gauche"> Gauche</label>
                    </fieldset>
                    <input type="submit" name="typeposition" value="Valider">
                  </form>

                 <form method="POST" action="catalogue.php">
                    <fieldset>
                    <input type="radio" name="couleur" value="bleu" id="bleu"/>
                      <label for="bleu"> Bleu</label><br>
                      <input type="radio" name="couleur" value="rouge" id="rouge" />
                      <label for="rouge"> Rouge</label><br>
                      <input type="radio" name="couleur" value="vert" id="vert" />
                      <label for="vert"> Vert</label><br>
                      <input type="radio" name="couleur" value="jaune" id="jaune"/>
                      <label for="jaune"> Jaune</label>
                    </fieldset>
                    <input type="submit" name="typecouleur" value="Valider">
                  </form>


Ensuite dans la balise <head> </head> de cette même page (catalogue.php), j'ai écrit ce code pour chercher ces critères dans la base de données:

<?php
  session_start();
  require_once('BD.php');
  $bdd = getBD();

   $req="SELECT * FROM catalogue"

    if (isset($_POST['motif'])) {
    $motif = $_SESSION['motif'] = "'" . $_POST['motif'] . "'";
    $req = $req . " AND catalogue.motif = $motif";
  }

  if (isset($_POST['position'])) {
    $position = $_SESSION['position'] ="'" . $_POST['position'] . "'";
    $req = $req . " AND catalogue.position = $position";
  }

  if (isset($_POST['couleur'])) {
    $couleur= "'" . $_POST['couleur'] . "'";
    $req = $req . " AND catalogue.couleur = $couleur";
  }
  
  $res = $bdd->query($req);

 
  ?>


Avec ce code j'ai toute ma base de données qui s'affiche quand j'arrive sur la page et que je n'ai choisi aucun critère comme je voulais, seulement dès que je coche n'importe quel critère je n'ai plus rien qui s'affiche sur la page.

Je débute dans la programmation en php, peut être que mes erreurs sont évidentes je suis désolée, mais pourriez vous m'aider svp ?