[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é
    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.
    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. 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é
          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.