Récupérer valeur liste déroulante PHP

timphp -  
 timphp -
Bonjour à tous,

voila j'ai un souci, ca fait deja un petit moment que je planche dessus, en cherchant sur divers forums mais je ne trouve rien qui m'aide réellement. J'ai donc un formulaire d'inscription avec une liste déroulante qui se remplit à partir d'une BDD mssql. Et je n'arrive pas à récupérer la valeur sélectionnée dans la liste(uniquement son index) pour pouvoir insérer la nouvelle entrée dans la base utilisateur.

voila le type de liste dont je parle

<TD><FONT class="libelle">Team</FONT></TD>
<TD>
<?php
echo '<select size=1 name="txt_team" >'."\n";
echo '<option value="-1">--Teams ATT--</option>'."\n";

for ($i=0;$i<$nbteam;$i++)
{
$resteam= mssql_result($reqteam,$i,0);

echo '<option value="'.$i.'">'.$resteam;
echo '</option>'."\n";
}
echo '</select>'."\n";
?>
</TD>

voila et donc j'utilise une méthode post qui fontionne tres bien pour les input text etc ....
J'ai vu dans différents forums qu'il fallait utiliser du javascript, j'ai donc essayé avec ce que je trouvais mais pas de résultats concluant.

Voila, j'espere avoir été a peu pres clair et vous remercie par avance pour vos futurs réponses.
A voir également:

7 réponses

Alain42
 
Bonsoir,

fais plutôt comme ça:

<?php
 $query="........";//ta requette
 $reqteam=mysql_query($query)or die("Pb avec la requette ".mysql_error());
echo '<select size=1 name="txt_team" >'."\n";
echo '<option value="-1">--Teams ATT--</option>'."\n";
$i=0;
while ($resteam= mysql_fetch_array($reqteam)){

echo '<option value="'.$i.'">'.$resteam['nom_du_champ'];
echo '</option>'."\n";
$i++;
}

echo '</select>'."\n";
?> 


et si tu as mis dans ta balise
<form name="...." method="post" action="......">


tu dois récupérer la valeur de ta liste par $_POST['txt_team'];


@lain
0
timphp
 
Merci Alain pour cette réponse rapide.

J'ai donc incorporé ton code à ma page PHP pour tester cela, j'arrive donc toujours à récupérer les données à partir de la base mais j'ai le même problème au moment de l' "INSERT INTO", cela insert l'index de la liste déroulante et non la valeur, par ex il y a une section R&D, je voudrais insérer cela dans la base et non 3 qui serait son indice.

J'utilise bien :

<form action="inscription_att.php" name="Frm_inscription" method="post">

et je récupère la valeur de la sorte :

$team = $_POST['txt_team'];

Merci par avance
0
Alain42
 
Ha mais c'est normal, je croyait que c'est l'index que tu voulait récuperer.

alors:

<?php
 $query="........";//ta requette
 $reqteam=mysql_query($query)or die("Pb avec la requette ".mysql_error());
echo '<select size=1 name="txt_team" >'."\n";
echo '<option value="-1">--Teams ATT--</option>'."\n";
$i=0;
while ($resteam= mysql_fetch_array($reqteam)){

echo '<option value="'.$resteam['nom_du_champ'].'">'.$resteam['nom_du_champ'];
echo '</option>'."\n";
$i++;
}

echo '</select>'."\n";
?> 

et toujours:

$team = $_POST['txt_team'];

car c'est la value que tu récupères
0
timphp
 
Oui désolé, j'avais peut-être pas été très clair.

En tout cas merci beaucoup Alain ca marche. (en effet c'était pas bien compliqué mais j'ai quand même perdu pas mal de temps la dessus)

Merci encore et bonne continuation !
0

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

Posez votre question
Alain42
 
Marques le résolu
0
timphp
 
oui mais j'ai pas de compte en fait j'ai juste créé le topic comme ca donc je sais pas si je peux le marquer en résolu. Si je peux explique moi comment faire lol :x dsl
0
timphp
 
mais je vais me créer un compte de ce pas pour cette apres-midi !
0