Requête mysql dans une liste déroulante
Résolu
T-Law
-
T-Law -
T-Law -
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! =)
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
-
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-
-
-
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 =)
-
-