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

iramon3 -  
 iramon3 -
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

2 réponses

Alain_42 Messages postés 5413 Statut Membre 894
 
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
toto
 
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
iramon3
 
Merci pour la remarque , jai' finalement pu résoudre mon problème grace à vous deux (alain_24 et toi) merci encore
0