[php] données d'1 table dans widget select

Bonjour,

je cherche a faire un widget select dans un formulaire, mais je voudrais que ce qui s'affiche soit recuperer directement dans une table de ma base de donnée.

Comment faire svp ?

Merci pour votre aide
steph70

5 réponses

  1. Contributeur sécurité
    A ce que je vois vous utilisez PDO (PHP Data Objects).

    Avez-vous une raison particulière à ceci ?
    Vu que vous travaillez avec du MySQL.

    N'ayant jamais travaillé dessus, ça m'intrigue.

    Cordialement.
    1. Merci encore pour ton aide.

      J'ai essayé ceci mais ca ne me renvoi rien :

      <HTML>
      <body>
      
      <?php
      try
      {
          // On se connecte à MySQL
          $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
          $bdd = new PDO('mysql:host=localhost;dbname=******', '****', '*****', $pdo_options);
          
          // On récupère tout le contenu de la table jeux_video
          $reponse = $bdd->query('SELECT * FROM Moulin_Rouge');
          
          // On affiche chaque entrée une à une
          while ($donnees = $reponse->fetch())
          {
          ?>
              <p>
      		<form>
      		<select name="Type">
      		<option value = <?php echo $donnees['Type']; ?>></option>
      		</select>
      		</form>
                  <?php
          }
          
          $reponse->closeCursor(); // Termine le traitement de la requête
      
      }
      catch(Exception $e)
      {
          // En cas d'erreur précédemment, on affiche un message et on arrête tout
          die('Erreur : '.$e->getMessage());
      }
      
      
      ?>
      </body>
      </HTML>
      


      Par contre si je remplace :

      <form>
      		<select name="Type">
      		<option value = <?php echo $donnees['Type']; ?>></option>
      		</select>
      		</form>
      


      Par ceci, ca fonctionne
      <strong>Jeu</strong> : <?php echo $donnees['id']; ?><br />
              Le possesseur de ce jeu est : <?php echo $donnees['Type']; ?>, et il le vend à  <?php echo $donnees['Lieu']; ?>   euros !<br />
      


      Ou me suis je lamentablement planté ?

      Merci pour ton aide.
      1. Contributeur sécurité
        Dans ce cas c'est simple.

        <select name="XXX">     
          <?php     
            // Ici, on crée un objet avec la class clsMySQL     
            $objMysql = new clsMySQL();     
        
            // On appelle la fonction getXXX de l'objet objMysql     
            // Le résultat est stocké dans un tableau     
            $arrXXX = $objMysql->getXXX();     
        
            // On fait une boucle pour parcourir tous     
            // enregistrements du tableau     
            for ($i = 0; $i < count($arrXXX); $i++)     
            {     
              // On stocke les informations dont on     
              // a besoin dans des variables     
              $id_XXX = $arrXXX[$i]['id_XXX'];     
              $strXXX = $arrXXX[$i]['XXX_XXX'];     
        
              // On rajoute une sélection au select     
              print('<option value="'.$id_XXX.'">'.$strXXX.'</option>');     
            }     
          ?>     
        </select>


        Dans ce cas là, il faut que la programmation de vos fonctions ainsi que la connexion à la base de donnée soit faite en "objet".

        Il faudra bien sûr adapter le code à votre solution.

        Besoin d'une autre aide ?

        Cordialement.
        1. Contributeur sécurité
          Bonjour,

          Qu'est-ce qu'un widget select pour vous ?

          Ce que j'ai compris: Vous voulez faire un select qui contiendra des valeurs directement prise depuis la base de donnée.

          C'est cela ?

          Cordialement.