Bloquer une valeur dans une liste déroulante

Résolu/Fermé
Reinseb Messages postés 14 Date d'inscription mardi 10 juin 2008 Statut Membre Dernière intervention 23 juin 2008 - 10 juin 2008 à 15:18
Reinseb Messages postés 14 Date d'inscription mardi 10 juin 2008 Statut Membre Dernière intervention 23 juin 2008 - 13 juin 2008 à 14:09
Bonjour, je voudrais vous demandez votre aide car je ne trouve pas la solution pourtant j'ai cherchais :( .
Donc en faite je voudrais bloquer une valeur dans ma liste déroulante en PHP gràce à un SELECTED mais je ne sais pas comment m'y prendre .

Code:


echo "<SELECT Name=selectType Size=1>";
$sql= "select * from T_CRITERE";
$rep= mssql_query($sql);
while($type=mssql_fetch_array($rep))
{
echo "<OPTION Value=\"".$type["VUE_CRITERE"]."\">".$type["LIBELLE_CRITERE"]."</OPTION>";

}
echo "</SELECT>";
echo"<input name='ok1' type='submit' value='ok'>" ;


Je suis connecté à la base ...

Donc si vous pouviez me conseiller sur la démarche cela serait gentil.
Merci

Reinseb

2 réponses

<option value="valeur" selected="selected">nom_option</option>

l'option sera automatiquement sélectionnée dans ta liste déroulante.
0
Reinseb Messages postés 14 Date d'inscription mardi 10 juin 2008 Statut Membre Dernière intervention 23 juin 2008 1
10 juin 2008 à 16:23
Quand je met selected='selected' dans mon option il sélectionne la dernière valeur de mon tableau alors que je voudrais qu'il garde la valeur que je sélectionne quand j'appuie sur OK.

Donc si vous saviez comment je pourrais adapter mon code SVP.
Merci.
0
Azraka > Reinseb Messages postés 14 Date d'inscription mardi 10 juin 2008 Statut Membre Dernière intervention 23 juin 2008
10 juin 2008 à 16:32
Il faudrait récupérer par POST quelle valeur de ta liste était sélectionnée et à l'aide d'un if afficher le selected= "selected" en face de la bonne option.

Au click sur le bouton ok que se passe-t-il ? On réaffiche la liste déroulante et il faudrait que la bonne option soit sélectionnée dans la liste c'est bien ça ?
0
Azraka > Azraka
10 juin 2008 à 16:38
Si c'est bien ce que tu veux faire, ceci devrait marcher :

echo "<SELECT Name=selectType Size=1>";
$sql= "select * from T_CRITERE";
$rep= mssql_query($sql);

while($type=mssql_fetch_array($rep))
{
  if ($_POST['selectType']== $type["VUE_CRITERE"])
        {
            echo '<OPTION Value=\"".$type["VUE_CRITERE"]." selected= "selected"\">'.$type["LIB­ELLE_CRITERE"].'</OPTION>';
        }
  else
        {
            echo "<OPTION Value=\"".$type["VUE_CRITERE"]."\">".$type["LIB­ELLE_CRITERE"]."</OPTION>";
        }
}
echo "</SELECT>";
echo"<input name='ok1' type='submit' value='ok'>" ; 


Il faut surement revoir un peu les guillemets mais je pense que c'est à peu près ça
0
Reinseb Messages postés 14 Date d'inscription mardi 10 juin 2008 Statut Membre Dernière intervention 23 juin 2008 1 > Azraka
10 juin 2008 à 16:51
quand je clique sur le bouton ok il recharge ma page pour alimenter une seconde liste deroulante.

Je testerai ton code demain et je te dirai quoi puisque je n'ai pas accès à la base de données chez moi.
0
Azraka > Reinseb Messages postés 14 Date d'inscription mardi 10 juin 2008 Statut Membre Dernière intervention 23 juin 2008
10 juin 2008 à 16:56
de rien...
0
Azraka Messages postés 252 Date d'inscription mercredi 11 juin 2008 Statut Membre Dernière intervention 5 juin 2014 13
11 juin 2008 à 14:44
ça c'est le code qui est appelé par ton formulaire quand tu cliques sur ok c'est ça ?
0
Reinseb Messages postés 14 Date d'inscription mardi 10 juin 2008 Statut Membre Dernière intervention 23 juin 2008 1
13 juin 2008 à 14:09
Désolé de répondre que maintenant mais je n'était pas disponible.

Et merci pour ton code ça ma servie, en faite l'erreur venais de mon code et c'est bon j'ai résolu le problème.
Merci

Cordialement Reinseb.
0