Requête mysql dans une liste déroulante

Résolu/Fermé
T-Law - 1 oct. 2012 à 09:33
 T-Law - 1 oct. 2012 à 10:46
Bonjour,

Je rencontre actuellement un petit problème de formulaire. Je voudrais juste afficher le resultat d'une requete Mysql dans une liste déroulante. J'ai donc fais ceci :

<p><label for ="siteN1"> - Site N1 : </label>

<?php

echo"<select name='siteN1'>";

// Connection à la base

$Cx_Serv=mysql_connect("localhost","root","");


if(!$Cx_Serv)
{
echo"Connexion au serveur impossible<br>";
}
else
{
echo"connexion réussi<br/>";
}
mysql_select_db("sami",$Cx_Serv);

// fin du module de connexion


$reponse = mysql_query("SELECT DISTINCT SITEN1_LIBELLE
FROM siten1
ORDER BY SITEN1_LIBELLE;"); // Requête SQL

// On fait une boucle pour lister tout ce que contient la table :

while ($resultat = mysql_fetch_assoc($reponse) )
{
echo "<option value='".$resultat['SITEN1_LIBELLE']."'></option>";
}

echo "</select>";

mysql_close($Cx_Serv); // Déconnexion

?>


Alors ça marche j'ai effectivement le resultat de ma requete dans la liste déroulante et je peux choisir le champs que je veux, le seul problème c'est que les champs en questions ne s'affiche pas donc en fait on séléctionne des champs à l'aveugle.
Je me doute qu'il me manque quelque chose du style : echo $resultat['SITEN1_LIBELLE']
Mais je n'arrive pas à savoir ou ni comment le mettre.
Si quelqu'un peut m'aider.
Merci d'avance! =)

1 réponse

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
1 oct. 2012 à 10:07
Bonjour,

Je vois deux problèmes dans ton code.

Alors, pour en revenir à la base, en HTML, à quoi ressemble une balise <select> ?
À ça :

<select name='truc'>
    <option value='valeur1'>Texte1</option>
    <option value='valeur2'>Texte2</option>
    <option value='valeur3'>Texte3</option>
</select>


Or ton code va générer quelque chose qui ressemble à :
<select name='truc'>
connexion réussie<br />
    <option value='valeur1'></option>
    <option value='valeur2'></option>
    <option value='valeur3'></option>
</select>


Je te laisse comparer et corriger :)

Xavier
0
C'est vrai que je pourrais me passer des commentaires echo"connection réussi" mais de toute façon il n'affiche pas "connection réussi" dans le formulaire et ce n'est pas a cause de ça que mes champs dans la liste déroulante ne s'affiche pas.
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié par Reivax962 le 1/10/2012 à 10:12
Oui enfin comme j'ai dit, il y a DEUX erreurs, regarde mieux :)

Pour le connexion, le problème n'est pas de le supprimer ou pas, c'est surtout qu'il ne devrait pas être à l'intérieur du <select>
0
Effectivement j'avais pas fais attention à la base j'avais fais ça juste pour ytester ma connection à la base et je l'ai remis tel quel dans le formulaire je vais corriger ça. Et j'ai pigé la deuxième erreur je ne met actuellement aucun texte c'est pour ça qu'il ne m'affiche rien donc maintenant je sais ou mettre mon echo =)
0
Bon Merci j'ai foutu ça ;
echo "<option value={$resultat[SITEN1_LIBELLE]}>{$resultat[SITEN1_LIBELLE]}</option>";

Et ça marche merci c'était tout con en fait, j'étais trop persuadé que ça venait de mon php.
0