Insérer valeurs BDD dans un select

didy_gwatinik Messages postés 358 Statut Membre -  
Matthia$ Messages postés 371 Statut Membre -
Bonjour,
J'ai une base de données avec les tables artistes, musique, texte.
Lors du remplissage d'une formulaire, je voudrai afficher dans mon select tous les artistes. Comment faire? J'ai pensé à une requête du type
SELECT nomArtiste FROM Artiste;

mais je ne vois pas du tout où je pourrai l'inclure pour tout afficher dans mon select.
Configuration: Windows XP
Firefox 3.0.3

2 réponses

  1. Matthia$ Messages postés 371 Statut Membre 78
     
    Pour tout récupérer depuis ta base de données, il te faut tout mettre sous forme de tableau, et utiliser le tout lors d'un while.

    // La requette pour créer la variable comprenant tous tes noms d'artiste
    $Requette = "
    SELECT `NomArtiste`
    FROM `Artistes`
    ORDER BY `NomArtiste` ASC
    ";

    // Pour faire ta liste dans ton formulaire
    while ( $NomArtiste = mysql_fetch_array ( $Requette ) ) {
    print "Nom de l'artiste :".$NomArtiste;
    }


    Je ne sais plus comment incruster la liste, à toi de faire la mise en page
    0
    1. Matthia$ Messages postés 371 Statut Membre 78
       
      En fait, mysql_fetch_array() va mettre sous forme de tableau le résultat obtenu depuis la requette MYSQL. Ensuite, la boucle While va parcourir toutes les lignes de cette variable. Quand il n'y a plus de ligne (et donc d'artiste à entrer) bah la boucle s'arrête.
      0
      1. didy_gwatinik Messages postés 358 Statut Membre 80 > Matthia$ Messages postés 371 Statut Membre
         
        Et comment intégrer ces résultats dans un select?
        0
      2. Matthia$ Messages postés 371 Statut Membre 78 > didy_gwatinik Messages postés 358 Statut Membre
         
        Il faut tout te mâcher...

        <select name="Id_SsCat">
        <option value="">Choisir son emplacement</option>
        <option value="Artiste01">Artiste01</option>
        <option value="Artiste02">Artiste02</option>
        </select>


        Oui, je n'ai pas le courage de faire la boucle, dsl ^^'
        0
  2. didy_gwatinik Messages postés 358 Statut Membre 80
     
    $Requette = "
    SELECT `NomArtiste`
    FROM `Artistes`
    ORDER BY `NomArtiste` ASC
    ";
    Donc si j'ai bien compris, ça donne ça :
    <select name="NomArtsite">
    <option value="">Selectionner</option>
    while ( $NomArtiste = mysql_fetch_array ( $Requette ) )
    {
    <option value=$NomArtiste>$NomArtiste</option
    }
    0
    1. Matthia$ Messages postés 371 Statut Membre 78
       
      En fermant ta balise </option> et en mettant des guillements dans ta boucle While, ça devrait ressember à cela.

      J'ai un doute sur la nomination de la variable dans la boucle:
      $NomArtiste ou $NomArtiste['NomArtiste']

      Le ['NomArtiste'] Correspondrait à l'index de la colonne dans la variable.
      Dans cet éxemple, j'ai mal choisi mes valeurs, pour être clair ><'
      Sorry
      0