Contenue sql dans une liste déroulante

Résolu
roy mustang Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   -  
freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   -
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!
A voir également:

7 réponses

freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   162
 
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   Statut Membre Dernière intervention   2
 
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   Statut Membre Dernière intervention   2
 
euhhh on quoi doit je remplir ceci???
$valeur=$ligne['indicequivabien'];
$libelle=$ligne['autreindicequivabien']; ????????
0
freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   162
 
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   Statut Membre Dernière intervention   2
 
!
0
freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   162
 
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   Statut Membre Dernière intervention   2
 
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 1543 Date d'inscription   Statut Membre Dernière intervention   162
 
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   Statut Membre Dernière intervention   2
 
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 1543 Date d'inscription   Statut Membre Dernière intervention   162
 
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   Statut Membre Dernière intervention   2
 
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 1543 Date d'inscription   Statut Membre Dernière intervention   162
 
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