Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème liste déroulante php et mysql

    27 juillet 2017 à 21:48:22

    Bonjour j'ai dans ma base mysql une liste avec des lieux et les emplacements et j'aimerais que lorsque nous cliquons sur un lieux, les emplacement de se lieux s'affiche dans les balise Select.

    Les lieux s'affiche déja correctement mais pas les emplacement qui vont avec !!

    voici mes script déja fait et la table mysql 

    La connexion mysql :

    <?php 
    /* Connexion à la bas de donnée */
    try
    {
        $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
    }
    catch(Exception $e)
    {
        die('Erreur : '.$e->getMessage());
    }
    
    ?>
    
    



    index.php :

    <!-- Choix du lieux -->
    <div class="mode">
    <div class="row">
    <div class="form-group">
      <label class="col-md-1 control-label" for="mode">Lieux :</label>
      <div class="col-md-2">
        <select id="server-select" name="monselect" class="form-control">
          <?php
          $reponse = $bdd->query('SELECT * FROM lieux');
          while ($donnees = $reponse->fetch())
          {
          ?>
          <option value="<?php echo $donnees['lieux']; ?>"><?php echo $donnees['lieux']; } ?></option>
        </select> <br>
        <select id="server-select" name="monselect" class="form-control">
          <?php
          $reponse = $bdd->query('SELECT * FROM lieux');
          while ($donnees = $reponse->fetch())
          {
          ?>
          <option value="<?php echo $donnees['em1']; ?>"><?php echo $donnees['em1']; ?></option>
          <option value="<?php echo $donnees['em2']; ?>"><?php echo $donnees['em2']; ?></option>
          <option value="<?php echo $donnees['em3']; ?>"><?php echo $donnees['em3']; ?></option>
          <option value="<?php echo $donnees['em4']; ?>"><?php echo $donnees['em4']; ?></option>
          <?php } ?>
    
        </select>
      </div>
    </div>
    </div>
    </div>

    La structure mysql :

    -- Structure de la table `lieux`
    --
    
    CREATE TABLE `lieux` (
      `id` int(11) NOT NULL,
      `lieux` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
      `em1` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
      `em2` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
      `em3` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
      `em4` varchar(200) COLLATE utf8_unicode_ci NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    
    --
    -- Déchargement des données de la table `lieux`
    --
    
    INSERT INTO `lieux` (`id`, `lieux`, `em1`, `em2`, `em3`, `em4`) VALUES
    (1, 'Maison', 'Atelier / Chambre d\'enfant', 'Salon / Salle de sport', 'Salle de sport / Garage', ''),
    (2, 'Lieux 2', 'emplacement 1', 'emplacement 2', 'emplacment 3', 'emplacement 4');
    
    --
    -- Index pour les tables déchargées
    --
    
    --
    -- Index pour la table `lieux`
    --
    ALTER TABLE `lieux`
      ADD PRIMARY KEY (`id`);
    
    --
    -- AUTO_INCREMENT pour les tables déchargées
    --
    
    --
    -- AUTO_INCREMENT pour la table `lieux`
    --
    ALTER TABLE `lieux`
      MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;COMMIT;
    
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

    Savez vous quel script utilisez pour cela ??

    Merci d'avance,   je sais qu'il faut utiliser js et ajax mais je n'y suis vraiment pas arriver, même avec des tutoriels du net, vous êtes mon dernier secours

    -
    Edité par AlexandreValet 27 juillet 2017 à 21:49:55

    • Partager sur Facebook
    • Partager sur Twitter

    alexandre

      27 juillet 2017 à 21:55:18

      Bonjour,

      Il y a chaque jour plusieurs questions sur le même sujet. Si tu n'arrives pas à utiliser Ajax, il te suffit de soumettre ton premier formulaire, avec le premier select, puis de récupérer cette valeur pour la placer dans le WHERE de ta deuxième requête.

      • Partager sur Facebook
      • Partager sur Twitter
        27 juillet 2017 à 22:03:11

        philodick a écrit:

        Bonjour,

        Il y a chaque jour plusieurs questions sur le même sujet. Si tu n'arrives pas à utiliser Ajax, il te suffit de soumettre ton premier formulaire, avec le premier select, puis de récupérer cette valeur pour la placer dans le WHERE de ta deuxième requête.


        Auriez vous la gentillesse de où me rediriger vers un sujet qui fonctionne ou de me faire un exemple de script ?

        Merci d'avance

        • Partager sur Facebook
        • Partager sur Twitter

        alexandre

          28 juillet 2017 à 8:57:12

          Bonjour,

          Ajax semble la meilleur solution si tu ne veux pas avoir à recharger ta page après le choix d'une catégorie et la mise à jour de ton select, tu peux commencer à lire cette article : la prog pour tous ou ici sur openclassroom.

          Après dans les grande ligne, en javascript, rechercue sur google : "jquery faire une requete HTTP GET", la principale difficulté est la gestion des chemin (donc pas très compliqué en réalité), l'idée, tu fais une requête en ajax sur une page php au changement d'une valeur dans ton formulaire, cette page php va te retourner un tableau de valeur en fonction de variable que tu aura fait passer.

          Tu récupéres ce tableau et tu mets simplement à jour les options de ton select.

          • Partager sur Facebook
          • Partager sur Twitter
            28 juillet 2017 à 9:08:38

            Zigomato a écrit:

            Bonjour,

            Ajax semble la meilleur solution si tu ne veux pas avoir à recharger ta page après le choix d'une catégorie et la mise à jour de ton select, tu peux commencer à lire cette article : la prog pour tous ou ici sur openclassroom.

            Après dans les grande ligne, en javascript, rechercue sur google : "jquery faire une requete HTTP GET", la principale difficulté est la gestion des chemin (donc pas très compliqué en réalité), l'idée, tu fais une requête en ajax sur une page php au changement d'une valeur dans ton formulaire, cette page php va te retourner un tableau de valeur en fonction de variable que tu aura fait passer.

            Tu récupéres ce tableau et tu mets simplement à jour les options de ton select.

            auriez vous un exemple de code ?

            • Partager sur Facebook
            • Partager sur Twitter

            alexandre

              28 juillet 2017 à 10:37:50

              Ahah, j'avoue que je n'aime pas quand on me dit ça, mais je pense avoir donné pas mal d'informations sur comment faire, jquery (javascript) est incontournable, l'apprentissage des fonctions de bases et de la philosophie est rapidement accessible. Je te conseille de te pencher dessus, en moins d'une heure tu seras en mesures de faire ta requete get avec Ajax et l'afficher et surtout en comprenant ce que tu as fait (le plus important). pour des codes, le lien vers le cours d'openclassroom est vraiment efficace.

              • Partager sur Facebook
              • Partager sur Twitter

              Problème liste déroulante php et mysql

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown