Contenue sql dans une liste déroulante

Résolu/Fermé
roy mustang Messages postés 110 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 2 juin 2009 - 19 mars 2009 à 11:37
freto Messages postés 1542 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 - 23 mars 2009 à 10:19
salut à vous tous
je suis débutant et j'ai une page web à concevoir le truc que j'ai besoin d'une astuce web php pour avancer avez vous une idée de comment afficher le contenu d'une table d'une base mysql dans une liste déroulante ???j'ai besoin de votre conseil
merci!

7 réponses

freto Messages postés 1542 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 161
19 mars 2009 à 11:45
Bonjour.

Ci-dessous une idée de code ...à adapter bien entendu.

$link=mysql_connect('localhost', 'user', 'PASSWORD') or die (mysql_error());
mysql_select_db('tabase', $link) or die (mysql_error());
$requeteSelection="SELECT cequetuveut FROM tatable WHERE machin=bidule...";
$resSelection=mysql_query($requeteSelection,$link) or die (mysql_error());

echo "<select name='cequetuveut'>";
while ($ligne=mysql_fetch_array($resSelection)){
    $valeur=$ligne['indicequivabien'];
    $libelle=$ligne['autreindicequivabien'];
    echo "<option value='$valeur'>$libelle</option>";
}
echo "</select>";


N'hésite pas à poser des questions si tu a un doute sur l'une des fonctions que j'ai utilisé ^^
0
roy mustang Messages postés 110 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 2 juin 2009 2
19 mars 2009 à 12:08
waaw merci merci infiniment c vraiment très sympa de votre part je vais l'essayer et je vais revenir!!!
0
roy mustang Messages postés 110 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 2 juin 2009 2
19 mars 2009 à 12:10
euhhh on quoi doit je remplir ceci???
$valeur=$ligne['indicequivabien'];
$libelle=$ligne['autreindicequivabien']; ????????
0
freto Messages postés 1542 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 161
19 mars 2009 à 14:01
L'indice qui va bien correspond à l'indice de la colonne dans la requete. A savoir:
si tu fait un select id,nom from table
mysql_fetch_array va placer dans un tableau la premiere ligne et passera à la ligne suivante a chaque appel. Elle renvoie faux lorsqu'il n'y a plus de ligne (d'ou le while...sa s'arretera quand il y aura plus de ligne).
Ce tableau sera de cette manière: tab[0] => contient l'id, tab[1] contient le nom.
Tu peut aussi utiliser tab['id'] pour faire référence à l'id de ta requete, ou tab['nom'] pour faire référence au nom de ta requete.
0
roy mustang Messages postés 110 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 2 juin 2009 2
19 mars 2009 à 15:55
!
0
freto Messages postés 1542 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 161
19 mars 2009 à 16:10
Tu peut développer un peu cette réponse? Sa fonctionne? sa fonctionne pas? ta rien compris de mon explication?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
roy mustang Messages postés 110 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 2 juin 2009 2
19 mars 2009 à 16:50
merci pour ta disponibilité ^^
en effet j'ai compris la ou tu venir mais un blem jai' toujours pas compris en quoi dois je remplir $valeur=$ligne['indicequivabien'];
$libelle=$ligne['autreindicequivabien']
???
es ce que avec l'id et le nom dont vous m'avez parlez??
0
freto Messages postés 1542 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 161
19 mars 2009 à 17:16
Désolé de te répondre par une question, mais peux tu me donner la requete que tu veut faire (a savoir le contenu de $requeteSelection )?
0
roy mustang Messages postés 110 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 2 juin 2009 2
20 mars 2009 à 00:28
bonsoir non c pas grave biensure ^^
ok donc
$requeteselection="select nom_emp from employe " euh la clé primaire de la table et la clé primaire de la table c'est ncin !!!
0
freto Messages postés 1542 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 161
20 mars 2009 à 08:32
Ok.
Désolé de ne répondre que maintenant. Alors, il va manquer quelque chose (ou pas sa dépend).
A savoir que:
<option value='valeur'>libelle</option>

Il te faut une valeur (l'utilisateur sélectionne quelque chose dans la liste, ce quelque chose est "libelle", et la valeur correspondante, renvoyée par le formulaire est "valeur"). A moins que la valeur et le libelle affiché dans la liste ne soient les même.
Sinon, pour ta requete, le tableau que va faire mysql_fecth_array() ne contiendra qu'une seule valeur: le nom_emp.
Donc les indices à remplacer seront égaux à 0, ou 'nom_emp'.
Donc sa donnera soit
$valeur=$ligne[0];
$libelle=$ligne[0];

soit

$valeur=$ligne['nom_emp'];
$libelle=$ligne['nom_emp'];
0
roy mustang Messages postés 110 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 2 juin 2009 2
21 mars 2009 à 13:52
salut merci beaucoup infiniment ça marche et voici mon code
<?
$hostname = "localhost";
$database ="art-mania";
$username = "root";
$passwords ="";
$link=mysql_connect($hostname, $username, $passwords) or die (mysql_error());
mysql_select_db($database, $link) or die (mysql_error());
$requeteSelection="SELECT nom_emp FROM employe";
$resSelection=mysql_query($requeteSelection,$link) or die (mysql_error());

echo "<select name='nom_emp_ass' id='nom_emp_ass'>";
while ($ligne=mysql_fetch_array($resSelection)){
$valeur=$ligne['0'];
$libelle=$ligne['0'];
echo "<option value='$valeur'>$libelle</option>";
}
echo "</select>";?>

je voudrais vous demander juste une dernière chose! je me suis habitué à copier coller les champs input et ainsi les nom des champs name et id s'incrémente automatiquement quand il s'agit du même attribut dans ma table et vu que j'aurais plusieurs champs "nom_emp_ass" es ce que je les incrémente moi même ou le mysql se débrouillera??? merci!!!!!!!!
0
freto Messages postés 1542 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 161
23 mars 2009 à 10:19
Bah fait des tests (j'ai pas trop compris en fait ce que tu voulais demander), mais je pense que si ta base est bien conçue, mysql devrait incrémenter tout seul.
0