IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Formulaire à 2 listes déroulantes avec intérogation d'une base de données


Sujet :

PHP & Base de données

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    et en formation
    Inscrit en
    Juillet 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : et en formation
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2021
    Messages : 3
    Par défaut Formulaire à 2 listes déroulantes avec intérogation d'une base de données
    Bonjour,
    Je suis enseignante débutante en NSI (réforme du lycée) et je fais ma première rentrée en sepatembre.
    Pour que je puisse faire cours en septembre, le rectorat nous a fait suivre une formation de 4 h sur la programmation Web (côté serveur) et nous demande de rendre un exercice.
    J'ai prévu de continuer ma formation en autonomie pendant l'été (avec les tutoriels et livres que j'ai trouvé) mais là j'ai besoin de votre aide.

    Voici l'énoncé de l'exercice:
    "Modifiez rechercheProduits.html de telle sorte que l'internaute puisse spéecifier :
    - soit une catégorie ;
    - soit un nom de marque ;
    - soit une catégorie et un nom de marque ;
    - soit ni l'une, ni l'autre."

    Voici les fichiers à notre disposition avec la création d'une base de données "superventes" avec une table "produits" comportant numProduit, catégorie, nom, marque, prix.

    - rechercheProduitsParCategorie.html
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <html>
      <head>
        <title> Recherche des produits par catégorie </title>
        <meta charset="UTF-8" />
      </head>
      <body>
        <center> Recherche des produits par catégorie
          <br/><br/>
          <form action="http://localhost/listeProduitsParCategorie.php">
            <select name="catégorie">
    	  <option> téléphone </option>
              <option> tablette </option>
              <option> écouteurs </option>
            </select>
            <br/><br/>
            <input type="submit" value="VALIDEZ" />
          </form>
        </center>
      </body>
    </html>

    - listeProduitsParCategorie.php
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <html>
      <head>
        <title> Liste des produits par catégorie </title>
          <meta charset="UTF-8" />
      </head>
      <body>
        <h3> Liste des produits par catégorie ! </h3>
        <?php
          $WHERE = "";
          if (isset($_GET['catégorie'])) {
            $WHERE = "WHERE catégorie='".$_GET['catégorie']."'";
          }
          $sql = "SELECT * FROM produits $WHERE;";      
          /* echo $sql; Pour le déboguage */
          
          $dsn = 'mysql:host=localhost;dbname=superventes;charset=UTF8';
          $username = 'root';
          $password = '';
          $dbh = new PDO($dsn, $username, $password) or die("Pb de connexion !");
     
          $sth = $dbh->prepare($sql);
          $sth->execute();
          $result = $sth->fetchAll();
     
          echo "<ul>";
          foreach ($result as $enr) {
             echo "<li>".$enr['nom']." de marque ".$enr['marque']." : ".$enr['prix']." euros</li>";
          }
          echo "</ul>";
        ?>
      </body>
    </html>

    Voici ce que j'ai fait pour l'instant, il me semble avoir répondu aux deux premières étapes de l'exercice (je ne suis pas sûr) mais je bloque pour le reste (manque de temps important pour faire des recherches plus poussées qui seront faites après):
    - la page html: (rechercheProduits.php)
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <html>
      <head>
        <title> Recherche des produits par catégorie ou marque </title>
        <meta charset="UTF-8" />
      </head>
      <body>
        <center> Recherche des produits par catégorie ou marque
          <br/><br/>
          <form action="http://localhost/listeProduitsParCategorieMarque.php">
            <select name="catégorie">
    	  <option> toutes les catégories </option>
              <option> téléphone </option>
              <option> tablette </option>
              <option> écouteurs </option>
            </select>
            <br/><br/>
          <form action="http://localhost/listeProduitsParCategorieMarque.php">
            <select name="marque">
    	  <option> toutes les marques </option>
              <option> Samsung </option>
              <option> Apple </option>
              <option> Archos </option>
            </select>
            <br/><br/>
            <input type="submit" value="VALIDEZ" />
          </form>
        </center>
      </body>
    </html>

    - le scrip l'appel de la base de données avec la sélection des critères (listeProduitsParCategorieMarque.php):
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <html>
      <head>
        <title> Liste des produits par catégorie et/ou marque </title>
          <meta charset="UTF-8" />
      </head>
      <body>
        <?php
          $WHERE = "";
          if (isset($_GET['catégorie'])) {
            $WHERE = "WHERE catégorie='".$_GET['catégorie']."'";
          }
          $sql = "SELECT * FROM produits $WHERE;";      
          /* echo $sql; Pour le déboguage */
          
          $dsn = 'mysql:host=localhost;dbname=superventes;charset=UTF8';
          $username = 'root';
          $password = '';
          $dbh = new PDO($dsn, $username, $password) or die("Pb de connexion !");
     
          $sth = $dbh->prepare($sql);
          $sth->execute();
          $result = $sth->fetchAll();
     
          echo "<ul>";
          foreach ($result as $enr) {
             echo "<li>".$enr['nom']." de marque ".$enr['marque']." : ".$enr['prix']." euros</li>";
          }
          echo "</ul>";
        ?>
        <?php
          $WHERE = "";
          if (isset($_GET['marque'])) {
            $WHERE = "WHERE marque='".$_GET['marque']."'";
          }
          $sql = "SELECT * FROM produits $WHERE;";      
          /* echo $sql; Pour le déboguage */
          
          $dsn = 'mysql:host=localhost;dbname=superventes;charset=UTF8';
          $username = 'root';
          $password = '';
          $dbh = new PDO($dsn, $username, $password) or die("Pb de connexion !");
     
          $sth = $dbh->prepare($sql);
          $sth->execute();
          $result = $sth->fetchAll();
     
          echo "<ul>";
          foreach ($result as $enr) {
             echo "<li>".$enr['nom']." catégorie".$enr['catégorie']." : ".$enr['prix']." euros</li>";
          }
          echo "</ul>";
        ?>
      </body>
    </html>

    Merci beaucoup pour votre aide.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/03/2009, 10h19
  2. Réponses: 3
    Dernier message: 09/01/2009, 10h23
  3. Réponses: 2
    Dernier message: 28/06/2006, 20h34
  4. [Conception] formulaire et case à cocher et recherche dans une base de donnée
    Par olivier_1970 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 25/06/2006, 01h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo