Menu déroulant PHP mysql

Eléphant du PHP | 92 Messages

29 mars 2010, 20:14

Bonjour,

J’ai une question, récupération de données par un radio bouton, par un checkbox et par un menu déroulant…

Voici le 1er problème avec le menu déroulant :
J'ai un problème pour récupérer des données de ma base mysql par un menu déroulant.

Dans le champ de BD, il peut avoir trois valeurs : [M], [Mme] et [](vide)
Selon la valeur du champ, mon menu sélectionne cette valeur…

Voici mon code en PHP pour le menu :

Code : Tout sélectionner

<SELECT name="civilite" id="civilite"> <?php $rep= mysql_query("SELECT bd_civilite FROM $table_db WHERE id=$var_id"); while ($ligne_liste = mysql_fetch_array($rep)) { ?> <OPTION Value = "<?php echo $ligne_liste['']; ?><?php echo $ligne_liste['M']; ?>"><?php echo $ligne_liste['Mme']; ?></OPTION> <?php } ?> </SELECT>
Et voici le message d’erreur :
Notice: Undefined index: Mme inC:\.... on line 57
et voici la totalité du code :

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>toto</title> </head> <body> <form name="editForm" method="post" action="edit_form_proceded.php"> <table> <tr> <td align="center">CONTACT DB</td> </tr> <tr> <td><table border="1" width="100%"> <tr> <td>ID</td> <td>PRENOM</td> <td>NOM</td> <td>#</td> <td>RUE</td> <td>VILLE</td> </tr> <?php //recuperation la valeur d'un paramettre d'url $var_id=$_GET['id']; //echo $var_id; //connection au serveur include"connection.php"; //selection de bd include"selection.php"; $rep = "SELECT id,bd_prenom,bd_nom,bd_numero_adresse,bd_rue_adresse,bd_ville_adresse FROM $table_db WHERE id=$var_id"; //$var_id ------------­­> recuperation la valeur d'un paramettre d'url //$table_db ------------­­> venu par selection.php $result = mysql_query($rep); while($data = mysql_fetch_row($result)){ echo("<tr><td><input type=\"text\" name=\"id\" id=\"id\" value=\"$data[0]\" readonly=\"readonly\" /></td><td><input type=\"text\" name=\"prenom\" id=\"prenom\" value=\"$data[1]\"/></td><td><input type=\"text\" name=\"nom\" id=\"nom\" value=\"$data[2]\"/></td><td><input type=\"text\" name=\"numero_adresse\" id=\"numero_adresse\" value=\"$data[3]\"/></td><td><input type=\"text\" name=\"rue_adresse\" id=\"rue_adresse\" value=\"$data[4]\"/></td><td><input type=\"text\" name=\"ville_adresse\" id=\"ville_adresse\" value=\"$data[5]\"/></td></tr>"); } ?> <SELECT name="civilite" id="civilite"> <?php $rep= mysql_query("SELECT bd_civilite FROM $table_db WHERE id=$var_id"); while ($ligne_liste = mysql_fetch_array($rep)) { ?> <OPTION Value = "<?php echo $ligne_liste['']; ?><?php echo $ligne_liste['M']; ?>"><?php echo $ligne_liste['Mme']; ?></OPTION> <?php } ?> </table></td> </tr> </table> <input type="submit" name="btn_valider" value="Valider/Enregistrer"> </form> </body>
Alors, que faire ?

Bonne journée

devlop78
Invité n'ayant pas de compte PHPfrance

29 mars 2010, 20:25

Ton code est sale et j'ai l'impression qu'au delà de ça, il doit pas fonctionner super bien (les OPTION)

Eléphant du PHP | 92 Messages

29 mars 2010, 20:31

je sais et c'est pour cela que je demande ce que je peux faire : :roll: :!:

Code : Tout sélectionner

<SELECT name="civilite" id="civilite"> <?php $rep= mysql_query("SELECT bd_civilite FROM $table_db WHERE id=$var_id"); while ($ligne_liste = mysql_fetch_array($rep)) { ?> <OPTION Value = "<?php echo $ligne_liste['']; ?><?php echo $ligne_liste['M']; ?>"><?php echo $ligne_liste['Mme']; ?></OPTION> <?php } ?> </SELECT>
et cela ne marche pas :
  • Notice: Undefined index: Mme inC:\.... on line 57

devlop78
Invité n'ayant pas de compte PHPfrance

29 mars 2010, 20:38

Notice: Undefined index: Mme inC:\.... on line 57

Une notice n'empêche pas un script de fonctionner, si ?

Aller, vite fait ... (ça fonctionne peut-être pas)

$ligne_liste = mysql_fetch_array($rep);
$bd_civil = $ligne_liste['bd_civilite'];

$op3 = (!$bd_civil) ? 'selected="selected"' : null;
$op2 = ($b_civil == 'M') ? 'selected="selected"' : null;
$op1 = ($b_civil == 'Mme') ? 'selected="selected"' : null;

<OPTION Value="" <?php echo $op3; ?>>?</OPTION>
<OPTION Value="Mme" <?php echo $op1; ?>>Mme</OPTION>
<OPTION Value="M" <?php echo $op2; ?>>M.</OPTION>

Eléphant du PHP | 92 Messages

29 mars 2010, 20:52

avec ton code

Code : Tout sélectionner

<SELECT name="civilite" id="civilite"> <?php $rep= mysql_query("SELECT bd_civilite FROM $table_db WHERE id=$var_id"); //utilisation d'un while dans le but d'afficher un ou plusieurs nom $ligne_liste = mysql_fetch_array($rep); $bd_civil = $ligne_liste['bd_civilite']; $op3 = (!$bd_civil) ? 'selected="selected"' : null; $op2 = ($b_civil == 'M') ? 'selected="selected"' : null; $op1 = ($b_civil == 'Mme') ? 'selected="selected"' : null; ?> <OPTION Value="" <?php echo $op3; ?>>?</OPTION> <OPTION Value="Mme" <?php echo $op1; ?>>Mme</OPTION> <OPTION Value="M" <?php echo $op2; ?>>M.</OPTION> </SELECT>
Menu s'affiche mais sans sélectionner la valeur du champs qui est dans bd...

devlop78
Invité n'ayant pas de compte PHPfrance

29 mars 2010, 21:06

OUi ...

$op2 = ($b_civil == 'M') ? 'selected="selected"' : null;
$op1 = ($b_civil == 'Mme') ? 'selected="selected"' : null;

Il y a une erreur j'ai oublié le d de bd_civil ...

devlop78
Invité n'ayant pas de compte PHPfrance

29 mars 2010, 21:19

devlopnet
Ma première boucle

Messages: 84
Inscription: 22 Mar 2010, 19:33

lol ...

Alors ça marche ou ça roule ?

Eléphant du PHP | 92 Messages

29 mars 2010, 21:20

:D =D>
super marche est ce que je peux demander une autre chose à propos de checkbox ???

devlop78
Invité n'ayant pas de compte PHPfrance

30 mars 2010, 01:51

Oui le forum est là pour ça (enfin je crois ;) )