Récupérer la valeur d'une liste déroulante

Fermé
iramon3 - 12 janv. 2009 à 13:09
 iramon3 - 13 janv. 2009 à 09:50
Bonjour, j'ai un problème qui veut m'arracher les cheveux de la tête :
voilà je voudrais modifier un renregistrement de ma base qui contient un champs titre dont les valeus sont: Mme, Mlle et M. . Il est donc d'abord question de remplir la liste (sans problème) et de choisir par défaut le titre correspondant à l'enregistrement à modifier. voici mon script :
include("connexion.php");
$id=$_GET["id"];
$req="select * from user where ID_USER='".$id."'";
$id_requete = mysql_query($req,$id_connect) or die("Requête impossible");
$ligne = mysql_fetch_array($id_requete);
$viduser="'".$ligne['ID_USER']."'";
$vloguser="'".$ligne['LOG_USER']."'";
$vpwduser="'".$ligne['PWD_USER']."'";
$vmailuser="'".$ligne['MAIL_USER']."'";
$vcivuser="'".$ligne['CIV_USER']."'";
$vnomuser="'".$ligne['NOM_USER']."'";
$vpreuser="'".$ligne['PRE_USER']."'";
$types=$vcivuser;

include("deconnexion.php"); //Jusqu'ici ça va
?> </td>
<td class="liens_cache"><div align="right">Titre : </div></td>
<td width="226"><label>
<?php
// Je détermine la valeur des variables sel, sel1 et sel2 qui déterminront la valeur de la liste
// à afficher par défaut selon la valeur du champ titre pour l'enregistrement à modifier

if ($vcivuser="M.") {$sel=""; $sel1=""; $sel2="selected";}
else{
if ($vcivuser="Mme") {$sel="selected"; $sel1=""; $sel2="";}
else{
if ($vcivuser="Mlle") {$sel=""; $sel1="selected"; $sel2=""; }
}
}
//Je rempli la liste en espespérant faire de la valeur recherchée la valeur à afficher par défaut
//echo '<option value="'.$resultat[0].'" >'.$resultat[0];
echo '<select name=\"civ_user\" id=\"civ_user\">';
echo '<option value=\"Mme\" '.$sel.'> Mme </option>';
echo '<option value=\"Mlle\" '.$sel1.'> Mlle </option>';
echo '<option value=\"M.\" '.$sel2.'> M. </option>';
echo '</option>'."\n";
echo '</select>'."\n";
echo "Sel=$sel Sel1=$sel1 Sel2=$sel2";
//include(deconnection.php);
?>
le pb c'est qu'il ne passe rien la valeur de liste affichée par défaut n'est la bonne et pire encore lorsque même j'en sélectionne une moi même aucune donnée n'est portée dans la base; ce champ pourtant interdit d'être nul l'est dans ma base. je n'y comprend plus rien, aidez, j'attend vos suggestions
A voir également:

2 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
12 janv. 2009 à 13:25
Voilà:

include("connexion.php");
$id=$_GET["id"];
$req="select * from user where ID_USER='".$id."'";
$id_requete = mysql_query($req,$id_connect) or die("Requête impossible");
$ligne = mysql_fetch_array($id_requete);
$viduser=$ligne['ID_USER'];
$vloguser=$ligne['LOG_USER'];
$vpwduser=$ligne['PWD_USER'];
$vmailuser=$ligne['MAIL_USER'];
$vcivuser=$ligne['CIV_USER'];
$vnomuser=$ligne['NOM_USER'];
$vpreuser=$ligne['PRE_USER'];
$types=$vcivuser;

include("deconnexion.php"); //Jusqu'ici ça va
?> </td>
<td class="liens_cache"><div align="right">Titre : </div></td>
<td width="226"><label>
<?php
// Je détermine la valeur des variables sel, sel1 et sel2 qui déterminront la valeur de la liste
// à afficher par défaut selon la valeur du champ titre pour l'enregistrement à modifier


//Je rempli la liste en espespérant faire de la valeur recherchée la valeur à afficher par défaut
//echo '<option value="'.$resultat[0].'" >'.$resultat[0];
?>
<select name="civ_user" id="civ_user">
<option value="Mme" <?php if($vcivuser=="Mme") {echo "selected";} ?>> Mme </option>
<option value="Mlle" <?php if($vcivuser=="Mlle") {echo "selected";} ?> > Mlle </option>
<option value="M."  <?php if($vcivuser=="M.") {echo "selected";} ?>> M. </option>
</select>
0
Bonjour
La comparaison en PHP, c'est == , pas implement =
donc
if ($vcivuser="M.")
(et les autres) est incorrect. Tu obtiens sans doute toujouts Melle comme valeur par défaut.

Pour ce qui est d'ajouter de valeurs dans ta base... Il faudrait que tu montres le script qui récupères les valeurs du formulaire et les insère dans la base, car ça n'est pas fait dans celui que tu montres. Il n'y a même pas de balise <FORM>
0
Merci pour la remarque , jai' finalement pu résoudre mon problème grace à vous deux (alain_24 et toi) merci encore
0