liste déroulante incomplète (json)
Bonjour tout le monde,
J'aimerais créer une liste de sélection en javascript via un retour de PHP (AJAX).
Voici le retour de PHP :
Citation:
{"":"Choix d'un pharmacien","11111":"Brankaer jean Pierre pour DUPONT Marie","11111":"Brankaer jean Pierre pour HUBERT Laurent","222222":"Cousin Jean Luc pour DUPONT Marie","222222":"Cousin Jean Luc pour HUBERT Laurent","35654":"Jamon Jose pour HUBERT Laurent"}
La page crée la liste déroulante mais ne mets que ceci :
Code:
1 2
| <select id="liste_et" onchange="afficher_info_etudiant_ou_pas(this.value,'admin')">
<option value="">Choix d'un pharmacien</option><option value="11111">Brankaer jean Pierre pour HUBERT Laurent</option><option value="222222">Cousin Jean Luc pour HUBERT Laurent</option><option value="35654">Jamon Jose pour HUBERT Laurent</option></select> |
Je n'obtiens que 3 valeurs alors qu'il y en a 5.
Voici le code PHP qui génère la chaine json :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| if($_POST['choix_admin'] == 'pharmaciens')
{
$sql_mds = "SELECT * , etudiants.Prenom AS etudiant_prenom, etudiants.Nom AS etudiant_nom, pharmaciens.Nom AS pharmacien_nom FROM etudiants_pharmaciens INNER JOIN etudiants ON etudiants.Matricule = id_etudiants INNER JOIN pharmaciens ON pharmaciens.INAMI = id_pharmaciens ORDER BY pharmaciens.nom, etudiants.nom ";
//echo $sql_mds;
$query_mds = mysql_query($sql_mds);
while($res = mysql_fetch_array($query_mds))
{
$return .='"'.$res["INAMI"].'":"'.$res["pharmacien_nom"].' '.$res["Prenom"].' pour '.$res['etudiant_nom'].' '.$res['etudiant_prenom'].'",';
} |
Et voici le code javascript qui génère la liste de sélection :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| leretour = xhr.responseText;
//alert(leretour);
emptySel(document.getElementById('liste_et'));
MesOption=eval("(" + leretour + ")");
for (key in MesOption)
{
LeTexte = MesOption[key];
LaValeur = key;
//alert(LaValeur);
var NewOption = document.createElement('option');
NewOption.value = LaValeur;
NewOption.innerHTML=LeTexte;
document.getElementById('liste_et').appendChild(NewOption);
} |
Voyez-vous où se trouve le problème ?
Merci d'avance.
beegees