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

Fermé
abdeslam1999 - 19 sept. 2009 à 03:40
 abdeslam1999 - 20 sept. 2009 à 15:09
Bonjour,
j'ai travaillé avec la téchnologie php/mysql
j'ai remplis ma liste déroulante par trois modes de consultatios(Créée,ouverte,fermée)

les trois modes sont ajoutés dans une table à travers l'opération d'insertion

lorsque je voudrais de récupérer un certain mode dans la même liste déroulante le problème que j'ai trouvé c'est que je vois deux mode dans la liste(par exemple je vois créée deux fois, une qui vient de la table et l'autre de la liste déroulante )

S.V.P si vous aurez une solution aidez moi

merci

6 réponses

giheller Messages postés 1853 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 18 décembre 2022 142
19 sept. 2009 à 09:14
Bonjour,

votre question est peu claire, mais si j"en comprends un peu le sens : pourquoi passer par une table ?
ceci dit donnez le code de cette liste pour qu'on puisse voir...
0
abdeslam1999
19 sept. 2009 à 16:07
merci de votre réponse

voilà le code pour bien expliquer les choses
//ici je récupére un mode de la table consultation(email,site web,.....etc)

<?php
if (isset($_GET[v_consult_clt_id])){
$req =mysql_query("select mode_consult from consultation where consult_clt_id=".$_GET[v_consult_clt_id]."")
$a=mysql_fetch_array($req);
?>

//puis le mode sera récupéré dans la liste
<select name="v_mode_consul" value="<?php echo'"'.$_POST['v_mode_consul'].'"'?>" style="width:200px">
<?php echo'<option value='.$a['mode_consult'].'>'.$a['mode_consult'].'</option>'; ?>

//ici les valeur remplis dans la liste(qui sont ajoutés dans la table de consultation lorsque je voudrais faire une opération d'insertion )

<option value="Email">Email</option>
<option value="Site web">Site web</option>
<option value="Téléphone">Téléphone</option>
<option value="Faxe">Faxe</option>

</select>

le problème c'est que je vois deux mode(le mode récupéré de la table et le mode de la liste déroulante)

je fais cette opération pour faire la modification des modes,je récupère le mode dans la liste puis je le modifie par une autre de la liste)

j'espère que vous aurez compris
merci
0
alexdelareunion Messages postés 544 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 24 février 2012 142
19 sept. 2009 à 16:26
salut,
difficile de t'aider sans faire tourner le code, car je n'ai pas ta base. Cela dit il y a une petite coquille je crois ici :
<select name="v_mode_consul" value="<?php echo'"'.$_POST['v_mode_consul'].'"'?>" style="width:200px">
les guillemets qui entourent la value de ton select sont en double.
corrige ça et refait un test
0
abdeslam1999
19 sept. 2009 à 16:40
merci de votre réponse

le double guillemets ce n'est pas un problème

value="" //pour le contenu de la valeur
<?php echo'"'.$_POST['v_mode_consul'].'"'?>//car le mode est string

meci
0
alexdelareunion Messages postés 544 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 24 février 2012 142
19 sept. 2009 à 16:48
tu as essayé ?
0
abdeslam1999
19 sept. 2009 à 16:51
Oui ?
0
alexdelareunion Messages postés 544 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 24 février 2012 142
19 sept. 2009 à 16:54
peux tu mettre un morceau de code plus long au moins avec les balises FORM
0
abdeslam1999
19 sept. 2009 à 17:10
<body>
<?php

$req =mysql_query("select consultation_clt.mode_consult as mode_consult from
consultation_clt where consultation_clt.consult_clt_id=".$_GET[v_consult_clt_id]." ")
$a=mysql_fetch_array($req);
?>
<form name="add" action="Traitement/mise_a_jour_consultation.php" method="POST" >

<table width="997" border="0" align="center" background="../../image/index.jpg">
<tr>
<td><select name="v_mode_consul" value="<?php echo''.$_POST['v_mode_consul'].''?>" style="width:200px">
<?php echo'<option value='.$a['mode_consult'].'>'.$a['mode_consult'].'</option>'; ?>
<option value="Email">Email</option>
<option value="Site web">Site web</option>
<option value="Téléphone">Téléphone</option>
<option value="Faxe">Faxe</option>
</select></td>
</tr>
<tr>
<th width="62" scope="col"><input type="submit" name="v_modifier" id="button" value="Modifier" onclick="return(confirm('Etes-vous sûr de vouloir modifier cette consultation?'));"/>
</th>
</tr>
</table>
</form>
</body>
0

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

Posez votre question
alexdelareunion Messages postés 544 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 24 février 2012 142
19 sept. 2009 à 17:10
D'après ce que je lis dans ton code, ça semble un peu fouilli il y a des valeur passées en get et d'autre en post et le nom des variables est pas assez explicite.
voila ce que j'ai compris :
- il y a des clients qui ont tous : un id, un email, un fax, etc
- chaque client peut se trouver dans un des trois état suivants : créé, ouvert, ou fermé
tu voudrais qu'en ouvrant la fiche d'un client (en donnant son id en GET) la fiche du client apparaisse et que le menu déroulant fasse apparaitre l'état dans lequel se trouve ce client
- il faut qu'en choisissant une option dans le menu déroulant on puisse changer l'état de ce client
etc ce que c'est ça ?
0
abdeslam1999
19 sept. 2009 à 17:28
nous concentrons maintenant seulement sur les consultations des client

chaque consultation a un mode(Site web,faxe,téléphone...,ce qui m'intéresse maintenant) et autres comme état de consultation,non_client qui fait la consultation...etc.

je récupère toutes ces valeurs soit dans les champs soit dans les liste déroulantes(comme le cas de mode de consultation)

alors lors de la récupération dans la liste déroulante je vois deux mode(par exemple faxe ) c'est normale par ce que un mode qui vient de la table de consultation et l'autre existe dans la liste

ce que je voudrais est ce qu'il y a un truc telle que le mode qui vient de la table de consultation et le même qui existe dans la liste

merci
0
alexdelareunion Messages postés 544 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 24 février 2012 142
20 sept. 2009 à 06:14
Bon dernière tentative.
si tu veux que ton select se cale automatiquement sur la bonne valeur, celle qui correspond à ce qui arrive de ta table tu dois procéder comme ça:
1- tu fais une requête pour récupérer tous les différents "modes" qui seront proposés dans ta liste
2- tu fais une requête pour récupérer le mode de ton client
- ensuite tu fais une boucle pour remplir le sélect avec les valeurs récupérées par la requete 1.
- dans la boucle à chaque fois que tu crée une balise <OPTION> tu contrôle si cette ligne correspond au mode de ton client avec un "if"
- SI l'<option> que tu es en train de créer, correspond au mode du client, tu dois ajouter le mot clé SELECTED comme ça : <OPTION value='toto' SELECTED>Toto</OPTION>

De cette façon tu es sur de n'avoir aucun doublon dans ton <SELECT> et tu es sur que la ligne qui sera sélectionnée en apparaissant sera la bonne.

voila je suis pas sur d'avoir répondu à ta question mais bon j'aurai essayé...
0
abdeslam1999
20 sept. 2009 à 15:09
oui effectivement ce que je veux ,j'irai essayer

Merci
0