[PHP] Remplir une liste déroulante à sa création

Résolu/Fermé
PL29 - 10 juin 2014 à 11:27
 PL29 - 12 juin 2014 à 12:32
Bonjour,

Je vous explique la situation :

J'ai sur ma page une liste déroulante remplie avec des noms d'utilisateurs via ma bdd Mysql
à côté de cette liste déroulante j'ai une zone de texte qui affiche l'adresse mail de l'utilisateur sélectionnée dans la liste. Jusque là tout va bien

La personne qui remplie le formulaire à la possibilité de sélectionner plusieurs utilisateurs c'est pour cela que j'ai ajouté un bouton "Ajouter un utilisateur" qui lui a pour but de créer une nouvelle liste déroulante à chaque click.

Et cette nouvelle liste déroulante se crée bien mais je ne sais pas du tout comment la remplir, je compte sur vous pour m'aider si vous le pouvez.

Merci pour vos futures réponses. :)

Voici mon code :

<script language="Javascript">

function plus(){
c=document.getElementById('cadre');
c2=c.getElementsByTagName('select');
ch=document.createElement('select');

ch.setAttribute('type','text');
ch.setAttribute('name','choixUsers'+(3+c2.length));
c.appendChild(ch);

document.getElementById('sup').style.display='inline';
}

function recup(){
//-- Recup de l'objet SELECT
var O_Select = document.getElementById('idSelec');
//-- Recup de l'index selectionne
var index = O_Select.selectedIndex;
top.document.location = "testModifForm.php?index="+index;
}
</script>




<html>
<body>
<form name="Form1" method="get">
<select name="la_selection" onclick='recup()' id="idSelec">

<?php
try
{
// On se connecte a MySQL
$bdd = new PDO('mysql:host=localhost;dbname=glpibd', 'root', '');
}
catch(Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
//1ère requête récup des noms des utilisateurs dans l'ordre de leurs ID
$reponse = $bdd->query('SELECT name FROM glpi_users ORDER BY id ASC;');

while($donnees = $reponse->fetch())
{
?>
<!--Rempli la liste déroulante-->
<option><?php echo $donnees['name'];?></option>
<?php
}

$reponse->closeCursor(); // Termine le traitement de la 1ère requete

//2ème requête récup des adresses mails des utilisateurs dans l'ordre des ID utilisateurs
$reponse = $bdd->query("SELECT email FROM glpi_useremails WHERE glpi_useremails.users_id='".(2+($_GET['index']))."' ORDER BY users_id;");
while($donnees = $reponse->fetch())
{
?>
</select>
<input type="text" size="60" readonly value="<?php echo $donnees['email'];?>"></input>
<?php
}
// Termine le traitement de la 2ème requete
$reponse->closeCursor();
?>

<input type="button" size="60" onclick='plus()' value="Ajouter un utilisateur"></input>
<div id="cadre" style="margin-left:0px;width:230px"></div>

</form>
</body>
</html>



A voir également:

9 réponses

Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
10 juin 2014 à 12:24
Bonjour !
Question : Pourquoi ne pas faire une liste déroulante multiple tout simplement ?
0