liste déroulante lié, selected ??

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : liste déroulante lié, selected ??

listes déroulantes

par phil47 » 27 déc. 2007, 07:19

bonjour, les listes déroulantes posent beaucoup pour les programmeurs, mais j'ai vu ces liens qui m'ont beaucoup aidés : http://www.roodali.com/index.php?2007/0 ... -php-mysql
j'espère pouvoir t'aider

par guigui69 » 18 oct. 2007, 16:32

Merci c'est bien ca (en tout ca, ca à l'air) de fonctionner. petite question comment faire pour garder un bouton selectionné lors d'un refresh.

Voici mon code (qui execute du code javascript et php bien sur :D)

Code : Tout sélectionner

<input type="radio" name="fourrage" value="fourrage2" CHECKED onclick="ShowElem('texte2');HideElem('page')"> non <input type="radio" name="fourrage" value="fourrage1" <?php If (isset($_POST['ok']) && $fourrage == $_POST["fourrage1"]) echo "CHECKED"; ?> onclick="ShowElem('page');HideElem('texte2')" > oui
En faite, dans ma page php on arrive sur un choix:

Avez vous du fourrage dans votre produit: non ou oui

Par défaut c'est "non", des que je selectionne "oui" un tableau en dessous apparait. En fait dans cette page je vais devoir faire une liste déroulante lié. Donc cela signifie qu'il va avoir un rafraichissement de la page. Mais deq qu'il y a un rafraichissement de la page la position retourne sur le bouton non et donc cache le tableau.

Comment faire pour que le bouton Oui reste selectionné.

Que mettre au niveau des bouton pour lui dire de garder le "oui" (donc le tableau en dessous ouvert) lors d'un rafraichissement de la page? Et biensur garder le tableau afficher?

Merci d'avance

guigui69

par Ryle » 17 oct. 2007, 14:39

Ben le plus simple c'est d'essayer ;)

N'hésite pas à faire un print_r($_POST) dans les deux cas, tu verras les différences entre les deux au niveaux des données envoyées :)

par guigui69 » 17 oct. 2007, 14:33

Merci de ta réponse, je vois bien ce que tu veut dire.

Voici mon bouton valider:

Code : Tout sélectionner

echo '<br /><input type="submit" name="ok" id="ok" value="Envoyer" />';
Au niveau du code est que ca donne ça: (dit moi si j'ai bien compris)

Code : Tout sélectionner

If (isset($_POST['ok'])) //Si La variable "Ok" est définie Alors s'execute ICI... { ICI je met tout mon code PHP que je veut executer, exemple pour envoyer dans ma base } else //Sinon Echo refresh test { ICI refresh page; }
Comme ceci ?

guigui69

par Ryle » 17 oct. 2007, 13:01

Hmm... j'hésite à te répondre vu que jusque là tu t'es très bien débrouillé tout seul ;)

Bon aller, c'est effectivement faisable en php. Donne un nom à ton bouton submit qui valide le formulaire au final. Tu verras que lorsque tu soumets ton formulaire en cliquant sur ce bouton, son nom et sa valeur te sont envoyés comme tous les autres champs du formulaire. Tu peux ainsi savoir si la page se recharge suite à la séléction dans la liste ou bien suite à la validation du formulaire en testant la présence de cette variable :)

par guigui69 » 17 oct. 2007, 12:42

Je suis arrivé a trouver comment garder les valeur dans les champs.

Code : Tout sélectionner

<input type="text" name="commentaire" size="33" value="<?echo $_POST["commentaire"];?>" maxlength="90"><br>
J'ai un autre petit souci, Je vous explique:

je rentre les informations dans les champs de ma page, j'arrive au liste deroulante je selectionne la gamme puis sous gamme, je continue a remplir les autres champs suivants. Je vient de me rendre contre que je me suis trompé dans la gamme, la je modifie ET donc la refresh sauf que la le code php s'exécute essaye de rentrée des informations dans ma base.

Je voudrait que la partit du code PHP s'execute que lorsque que je clic sur le bouton envoyer.

Est ce possible ? en php? javascrip?

merci

guigui69

par guigui69 » 17 oct. 2007, 12:05

Je pense être arrivé a fusionner les deux pages.

Petit problème lorsque je selectionne dans ma liste déroulante liés la gamme cela effectue un refresh de la page problème quand j'ai remplis les autre champ je perte les informations que j'ai rentré dedans.


Quel paramètre ou quel code je doit rajouter pour pas que je perde les paramètre que j'ai déjà renseignés?

Merci

guigui69

par guigui69 » 17 oct. 2007, 09:57

Merci pour ces réponses, maintant il faut que je trouve comment faire fusionné (en quelque sorte mes 2 page) étant donné qu'il y a 2 FORM.

Voici ma premier page:

Code : Tout sélectionner

<html> <br> Bienvenue sur la page d'ajout d'un nouveau produit <br> <form method="POST" action="ajouter.php"> <u>Le code du Produit:</u> <br> <input type="text" name="code_pdt" size="33" value="" maxlength="11"><br> <u>Le nom du Produit:</u> <br> <input type="text" name="nom_pdt" size="33" value="" maxlength="32"> <br> <br> <?php $date = date("Y-m-d"); echo $date; ?> <br> <u>De quel type est le produit?</u> <br> <select NAME="type"> <option value='F'> Frais </option> <option value='S'> Surgele </option> </select> <br> <u>De quel gamme est-il?</u> <br> <select NAME="gamme"> <option value='B'> Boulangerie</option> <option value='P'> Patisserie</option> <option value='V'> Viennoisserie</option> <option value='T'> Traiteur</option> </select> <br> <u>De quel sous Gamme fait-il partit?</u> <br> <select NAME="sgamme"> <option value='11'> Pains Blancs Traditionnel</option> <option value='12'> Pains speciaux rotatif</option> <option value='13'> Pains spéciaux sole blancs</option> <option value='14'> Pains speciaux sole speciaux</option> <option value='15'> Pains speciaux sole levain</option> <option value='16'> Pains moulés</option> <option value='17'> Feuilletees Petite piéce</option> <option value='18'> Feuilletées levées Petites Pièces</option> <option value='19'> Brioches Petites Pièces</option> <option value='20'> Brioches Grosses Pièces</option> <option value='21'> Pâtes à choux</option> <option value='22'> Entremets</option> <option value='23'> Tartes et tartelettes</option> <option value='24'> Millefeuilles</option> <option value='25'> Traiteurs</option> <option value='26'> Flans</option> <option value='27'> Patisserie sêche</option> <option value='28'> Patisserie briochée</option> <option value='29'> Pains 500g</option> <option value='30'> Feuilletées Grosses Pièces</option> <option value='51'> Pain cru surgelé blanc</option> <option value='52'> Pain cru surgelé spéciaux</option> <option value='53'> Pain précuit surgelé blanc</option> <option value='54'> Pain précuit surgelé spéciaux</option> <option value='55'> Pain prépoussé</option> <option value='56'> Feuilletées crues Petites Pièces</option> <option value='57'> Feuilletées levées Petites Pièces</option> <option value='58'> Brioches crues grosses pièces</option> <option value='59'> Brioches prépoussées</option> <option value='60'> Brioches cuites surgelées</option> <option value='61'> Brioches cuites longue conservation</option> <option value='62'> Semis Finis fonds de tarte</option> <option value='63'> Semis Finis génoises</option> <option value='64'> Semis Finis plaques feuilletées</option> <option value='65'> Produits Finis entremets</option> <option value='66'> Produits Finis pâte à choux</option> <option value='67'> Produits Finis tartelettes et tartes</option> <option value='68'> Traiteurs</option> <option value='69'> Brioches crues petites pièces</option> </select> <br> <u>Conditionnement:</u> <br> <input type="text" name="conditionnement" size="33" value="" maxlength="11"><br> <br> <u> Perte</u>(Ex:3%=3) <br> <input type="text" name="perte" size="33" value="" maxlength="11"><br> <br> <u>Commentaire:</u> <br> <input type="text" name="commentaire" size="33" value="" maxlength="90"><br> <input type="submit" value="Envoyer" name="envoyer"> </FORM> </html> <?php // On commence par récupérer les champs if(isset($_POST['nom_pdt'])) $nom_pdt=$_POST['nom_pdt']; else $nom_pdt=""; if(isset($_POST['code_pdt'])) $code_pdt=$_POST['code_pdt']; else $code_pdt=""; if(isset($_POST['type'])) $type=$_POST['type']; else $type=""; if(isset($_POST['gamme'])) $gamme=$_POST['gamme']; else $gamme=""; if(isset($_POST['sgamme'])) $sgamme=$_POST['sgamme']; else $sgamme=""; if(isset($_POST['conditionnement'])) $cdt_pdt=$_POST['conditionnement']; else $cdt_pdt=""; if(isset($_POST['perte'])) $perte_pdt=$_POST['perte']; else $perte_pdt=""; if(isset($_POST['commentaire'])) $commentaire_pdt=$_POST['commentaire']; else $commentaire_pdt=""; // On vérifie si les champs sont vides if(empty($nom_pdt) OR empty($code_pdt) OR empty($type) OR empty($gamme) OR empty($sgamme)) { echo '<font color="red">Attention, <b>tout les champs doivent etre remplis</b> !</font>'; } // Aucun champ n'est vide, on peut enregistrer dans la table else { $server="******"; $user="****"; $pass="****"; $db="pdr"; mysql_connect($server,$user,$pass) or die('erreur de connexion'); mysql_select_db($db) or die ('impossible de se connecter a la base'); $date = date("Y-m-d"); // on regarde si le code produit existe déjà $sql = "SELECT ref_pdt FROM produit WHERE code_pdt='$code_pdt'"; $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); // on compte le nombre de résultats $res = mysql_num_rows($req); if($res!=0) // Si le nombre est different de 0 alors cela signifie qu'il y a deja un code produit, et on affiche un message d'erreur { echo '<font color="red">D&eacute;sol&eacute;, mais ce code produit est deja utilis&eacute; dans notre base.</font>'; } else { // on écrit la requête sql $sql = "INSERT INTO produit(ref_pdt, nom_pdt, code_pdt, type_pdt, cdt_pdt, crea_pdt, perte_pdt, gamme_pdt, sgamme_pdt, commentaire_pdt) VALUES('','$nom_pdt','$code_pdt','$type','$cdt_pdt','$date','$perte_pdt','$gamme','$sgamme','$commentaire_pdt')"; //echo $sql; // on insère les informations du formulaire dans la table mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); // on affiche le résultat pour le visiteur echo 'Vos infos on &eacute;t&eacute; ajout&eacute;es.'; } mysql_close(); // on ferme la connexion } ?>
La seconde qui elle contient les liste déroulante liées:

Code : Tout sélectionner

<?php echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n"); /* Variables de connexion : ajustez ces paramètres selon votre propre environnement */ $server="*****"; $user="*****"; $pass="*****"; $db="pdr"; /* On récupère si elle existe la valeur de la gamme envoyée par le formulaire */ $gamme = isset($_POST['gamme'])?$_POST['gamme']:null; echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'; echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">'; echo '<head>'; echo '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" xml:lang="fr" />'; if(isset($_POST['ok']) && isset($_POST['sgamme']) && $_POST['sgamme'] != "") { $sgamme_selectionnee = $_POST['sgamme']; $gamme_selectionne = $_POST['gamme']; echo "<p>Vous avez sélectionné la gamme $gamme_selectionne et la sous gamme $sgamme_selectionnee</p>"; } /* On établit la connexion à MySQL avec mysql_pconnect() plutôt qu'avec mysql_connect() * car on aura besoin de la connexion un peu plus loin dans le script */ $connexion = mysql_pconnect($server, $user, $pass); if($connexion != false) { $choixbase = mysql_select_db($db, $connexion); $sql1 = "SELECT id_gamme, ref_gamme, nom_gamme FROM gamme ORDER BY id_gamme"; $query = mysql_query($sql1); $nb= mysql_num_rows($query); //recupere le nombre de ligne de la variable contenue dans la variable query. Impeccable if ($nb == null){ // si le nombre de ligne est egal a ensemble vide cela ecrit dans la list deroulante selectionner echo "Pas de gamme."; } else { //echo "<form action='formulaire' method='post' id='chgsgamme'>"; ?> <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgsgamme"> <fieldset style="border: 3px double #333399"> <legend>Sélectionnez la gamme</legend> <select name="gamme" id="gamme" onchange="document.forms['chgsgamme'].submit();"> <option value="-1">- - - Choisissez une gamme - - -</option> <?php //echo "<select name='ref_gamme' id='ref_gamme' onchange='document.forms['chgsgamme'].submit();'>"; //echo "<option value='-1'>- - - Choisissez une gamme - - -</option>"; while ( $list = mysql_fetch_array( $query ) ) { echo '<option value="'.$list["ref_gamme"].'"'; if ($gamme == $list["ref_gamme"]) echo " SELECTED"; echo '>'.$list["ref_gamme"].' '.$list['nom_gamme'].'</option>'; } } echo "</SELECT>"; mysql_free_result($query); //on ferme la liste--> //$region = $_POST['gamme']; print("<center>$gamme</center>"); if(isset($gamme) && $gamme != -1) { //print("<center> selection $gamme</center>"); // Cération de la requête pour avoir les sous gammes de cette gamme $sql2 = "SELECT id_sgamme, ref_sgamme,nom_sgamme, ref_gamme FROM sgamme WHERE ref_gamme = '$gamme' ORDER BY id_sgamme"; //echo $sql2; if($connexion != false) { $query2 = mysql_query($sql2) or die('erreur'); $nb2= mysql_num_rows($query2); //recupere le nombre de ligne de la variable contenue dans la variable query. Impeccable if ($nb2 == null){ // si le nombre de ligne est egal a ensemble vide cela ecrit dans la list deroulante selectionner echo "Pas de sous gamme."; } else { echo '<select name="sgamme" id="sgamme">'; //echo "<select name='region' id='region' onchange='document.forms['chgsgamme'].submit();'>"; //echo "<SELECT NAME='sgammechoisis'>"; while ( $list2 = mysql_fetch_array( $query2 ) ) { echo '<option value="'.$list2["ref_sgamme"].'">'.$list2["ref_sgamme"].' '.$list2['nom_sgamme'].'</option>'; } } echo "</SELECT>"; //on ferme la liste--> } /* Un petit coup de balai */ mysql_free_result($query2); } echo '<br /><input type="submit" name="ok" id="ok" value="Envoyer" />'; echo '</form>'; // Terminé, on ferme la connexion */ mysql_close($connexion); } else { /* Si on arrive là, c'est pas bon signe, il faut vérifier les * paramètres de connexion, mot de passe, serveur pas démarré etc... */ echo '<p>Un incident s\'est produit lors de la connexion à la base de données, veuiillez essayer à nouveau ultérieurement.</p>'; } ?> </body> </html>
Le code des liste déroulante doivent remplacer 2 liste déroulantes dans ma page ajouter.php

celle-ci:

Code : Tout sélectionner

<select NAME="gamme"> <option value='B'> Boulangerie</option> <option value='P'> Patisserie</option> <option value='V'> Viennoisserie</option> <option value='T'> Traiteur</option> </select> <br> <u>De quel sous Gamme fait-il partit?</u> <br> <select NAME="sgamme"> <option value='11'> Pains Blancs Traditionnel</option> <option value='12'> Pains speciaux rotatif</option> <option value='13'> Pains spéciaux sole blancs</option> <option value='14'> Pains speciaux sole speciaux</option> <option value='15'> Pains speciaux sole levain</option> <option value='16'> Pains moulés</option> <option value='17'> Feuilletees Petite piéce</option> <option value='18'> Feuilletées levées Petites Pièces</option> <option value='19'> Brioches Petites Pièces</option> <option value='20'> Brioches Grosses Pièces</option> <option value='21'> Pâtes à choux</option> <option value='22'> Entremets</option> <option value='23'> Tartes et tartelettes</option> <option value='24'> Millefeuilles</option> <option value='25'> Traiteurs</option> <option value='26'> Flans</option> <option value='27'> Patisserie sêche</option> <option value='28'> Patisserie briochée</option> <option value='29'> Pains 500g</option> <option value='30'> Feuilletées Grosses Pièces</option> <option value='51'> Pain cru surgelé blanc</option> <option value='52'> Pain cru surgelé spéciaux</option> <option value='53'> Pain précuit surgelé blanc</option> <option value='54'> Pain précuit surgelé spéciaux</option> <option value='55'> Pain prépoussé</option> <option value='56'> Feuilletées crues Petites Pièces</option> <option value='57'> Feuilletées levées Petites Pièces</option> <option value='58'> Brioches crues grosses pièces</option> <option value='59'> Brioches prépoussées</option> <option value='60'> Brioches cuites surgelées</option> <option value='61'> Brioches cuites longue conservation</option> <option value='62'> Semis Finis fonds de tarte</option> <option value='63'> Semis Finis génoises</option> <option value='64'> Semis Finis plaques feuilletées</option> <option value='65'> Produits Finis entremets</option> <option value='66'> Produits Finis pâte à choux</option> <option value='67'> Produits Finis tartelettes et tartes</option> <option value='68'> Traiteurs</option> <option value='69'> Brioches crues petites pièces</option> </select>
Les 2 FORM sont ceux-la:

<form method="POST" action="ajouter.php">

<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgsgamme">

J'ai juste d'un seul bouton pour valider, car tout ces éléments que je rentre (ou selectionne) vont servir pour alimenter ma base de donnée mysql.


Je ne trouve pas comment fusionner mes pages pour que ma page fonctionne correctement, j'ai essayer de remplacer le FORM metho= "post" par le second mais ça ne fonctionne pas. Peut être que je mi prend mal :(.

Toutes aides seraient la bienvenue.
Merci d'avance

guigui69

par Invité » 16 oct. 2007, 15:57

Merci sur le cout j'avais pas compris mais après oui donc j'avais trouver la première solution :)

Merci.

Maintenant que ça fonctionne je doit le rajouter dans une page. Le soucis est au niveau du FORM, car dans ma situation au niveau de la page fusionné.

Un premier FORM, la je doit remplir des champs texte et une liste déroulante.
Deuxieme FORM, la c'est ou intervigne mes liste déroulante lié.
Troisieme de nouveau un FORM ''normal'' avec 3 champs a remplir.

Je ne sais comment mettre pour tout ça correctement. Quand je clic sur envoyer la page s'exécute correctement.

Si quelqu'un urait une petite aide ou bien un site qui explique comment faire avec plusieur FORM.

Mais Déjà un grand merci pour votre aide que vous m'aidez fournie.

guigui69

par Ryle » 16 oct. 2007, 14:03

Bah en principe, si tu as compris mes explications, tu devrais pouvoir le trouver et l'ajouter seul, m'enfin je peux quand même te donner le code à ajouter.. au choix :
($list["ref_gamme"] == $_POST['gamme']) ? ... : ... ;
if ($list["ref_gamme"] == $_POST['gamme']) {
  ...
}
else { 
  ...
}

par guigui69 » 16 oct. 2007, 12:49

Merci pour cette réponse. Mais en fais qu'est que je doit rajouter comme code pour que je garde visuellement le bon nom dans la première liste déroulante.

Merci d'avance pour ton aide

guigui69

par Ryle » 16 oct. 2007, 12:07

Par défaut dans un select, c'est toujours la première option qui est sélectionnée. Si toutes tes options disposent de l'attribut "selected", c'est dans ce cas toujours la dernière qui l'est.

Il te faut donc bien ajouter l'attribut "selected", mais uniquement sur l'option dans la valeur est égale à celle qui a été soumise et t'a permit d'alimenter ton second champ : c'est à dire uniquement dans le cas ou $list["ref_gamme"] est égal à $_POST['gamme'] et pas pour les autres options :)

liste déroulante lié, selected ??

par guigui69 » 16 oct. 2007, 11:56

Bonjour à tous je suis débutant en php, et pour ma boite je doit réaliser une base de donnée/site web pour les prix de revient.

J'avais besoin d'une liste déroulante liée (2 listes) j'ai donc utilisé le tuto de votre site (http://www.phpfrance.com/forums/voir_sujet-4562.php) et je l'ai modifier avec les élements que je connaissait en php pour réaliser une liste déroulante. Ma page fonctionne bien, sauf pour un élémént.

Le probleme ce situe au niveau de la premiere liste déroulante, lorsque je selectionne la liste que je veut, cela raffraichi correctement la page et cela m'ouvre ma deuxieme liste mais au niveau de la premiere cela est retourner sur la valeur 1(- - - Choisissez une gamme - - -) et si je met" selected=\"selected\"" la premiere liste retourne le dernier nom de la liste déroulante (dans mon cas traiteur).
Mais au niveau des informations récuperer se sont les bon.

SI je selectionne dans ma premier liste boulangerie, meme qu'apres le rechargement de la page il est marqué traiteur ou - - - Choisissez une gamme - - - cela prend bien la valeur voulu dans mon cas B.

Code : Tout sélectionner

<?php echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n"); /* Variables de connexion : ajustez ces paramètres selon votre propre environnement */ $server="******"; $user="***"; $pass="********"; $db="pdr"; /* On récupère si elle existe la valeur de la gamme envoyée par le formulaire */ $gamme = isset($_POST['gamme'])?$_POST['gamme']:null; echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'; echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">'; echo '<head>'; echo '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" xml:lang="fr" />'; if(isset($_POST['ok']) && isset($_POST['gamme']) && $_POST['gamme'] != "") { $sgamme_selectionnee = $_POST['sgamme']; $gamme_selectionne = $_POST['gamme']; echo "<p>Vous avez sélectionné la gamme $gamme_selectionne et la sous gamme $sgamme_selectionnee</p>"; } /* On établit la connexion à MySQL avec mysql_pconnect() plutôt qu'avec mysql_connect() * car on aura besoin de la connexion un peu plus loin dans le script */ $connexion = mysql_pconnect($server, $user, $pass); if($connexion != false) { $choixbase = mysql_select_db($db, $connexion); $sql1 = "SELECT id_gamme, ref_gamme, nom_gamme FROM gamme ORDER BY id_gamme"; $query = mysql_query($sql1); $nb= mysql_num_rows($query); //recupere le nombre de ligne de la variable contenue dans la variable query. Impeccable if ($nb == null){ // si le nombre de ligne est egal a ensemble vide cela ecrit dans la list deroulante selectionner echo "Pas de gamme."; } else { //echo "<form action='formulaire' method='post' id='chgsgamme'>"; ?> <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgsgamme"> <fieldset style="border: 3px double #333399"> <legend>Sélectionnez la gamme</legend> <select name="gamme" id="gamme" onchange="document.forms['chgsgamme'].submit();"> <option value="-1">- - - Choisissez une gamme - - -</option> <?php //echo "<select name='ref_gamme' id='ref_gamme' onchange='document.forms['chgsgamme'].submit();'>"; //echo "<option value='-1'>- - - Choisissez une gamme - - -</option>"; while ( $list = mysql_fetch_array( $query ) ) { echo '<option value="'.$list["ref_gamme"].'" selected=\"selected\""">'.$list["ref_gamme"].' '.$list['nom_gamme'].'</option>'; } } echo "</SELECT>"; mysql_free_result($query); //on ferme la liste--> $region = $_POST['gamme']; print("<center>$region</center>"); if(isset($gamme) && $gamme != -1) { //print("<center> selection $gamme</center>"); // Cération de la requête pour avoir les sous gammes de cette gamme $sql2 = "SELECT id_sgamme, ref_sgamme,nom_sgamme, ref_gamme FROM sgamme WHERE ref_gamme = '$gamme' ORDER BY id_sgamme"; //echo $sql2; if($connexion != false) { $query2 = mysql_query($sql2) or die('erreur'); $nb2= mysql_num_rows($query2); //recupere le nombre de ligne de la variable contenue dans la variable query. Impeccable if ($nb2 == null){ // si le nombre de ligne est egal a ensemble vide cela ecrit dans la list deroulante selectionner echo "Pas de sous gamme."; } else { echo '<select name="sgamme" id="sgamme">'; //echo "<select name='region' id='region' onchange='document.forms['chgsgamme'].submit();'>"; //echo "<SELECT NAME='sgammechoisis'>"; while ( $list2 = mysql_fetch_array( $query2 ) ) { echo '<option value="'.$list2["ref_sgamme"].'">'.$list2["ref_sgamme"].' '.$list2['nom_sgamme'].'</option>'; } } echo "</SELECT>"; //on ferme la liste--> } /* Un petit coup de balai */ mysql_free_result($query2); } echo '<br /><input type="submit" name="ok" id="ok" value="Envoyer" />'; // Terminé, on ferme la connexion */ mysql_close($connexion); } else { /* Si on arrive là, c'est pas bon signe, il faut vérifier les * paramètres de connexion, mot de passe, serveur pas démarré etc... */ echo '<p>Un incident s\'est produit lors de la connexion à la base de données, veuiillez essayer à nouveau ultérieurement.</p>'; } ?> </body> </html>
Qu'est qui me manque au niveau du selected pour ré affiché correctement le nom?
Ou bien est impossible de réaliser ce que je demande avec les modifications que j'ai effectuée?

Merci d'avance pour vos réponses

guigui69