[formulaire HTML]menu déroulant

  • Auteur de la discussion shadow
  • Date de début
S
shadow
Guest
bonjour !

je voudrais créer dans un formulaire HTML un menu déroulant avec la possibilité de sélectionner une unique réponse.
Les données de mon menu déroulant proviennent d'une requête SQL de ma bdd.

Je voudrais savoir comment, avec la méthode post, on peut récupérer la valeur de la sélection afin de pouvoir la réutiliser pour une autre requête.
Je voudrais utiliser seulement de l'HTML et du PHP.

Merci d'avance.
 
WRInaute impliqué
bonjour et bienvenue sur ce forum :lol:

j'ai pas trop compris ton problème alors je vais procéder par étapes :


shadow a dit:
je voudrais créer dans un formulaire HTML un menu déroulant avec la possibilité de sélectionner une unique réponse.
utilse le widget
Code:
<select> <option value=1>choix 1</option> </select>

est-ce que c'est la bonne réponse ?
 
WRInaute impliqué
suite ...

shadow a dit:
Les données de mon menu déroulant proviennent d'une requête SQL de ma bdd.
Merci d'avance.

donc ton serveur écrit le menu avant de renvoyer la page ... ça devrait marcher ...

shadow a dit:
Je voudrais savoir comment, avec la méthode post, on peut récupérer la valeur de la sélection afin de pouvoir la réutiliser pour une autre requête.
Je voudrais utiliser seulement de l'HTML et du PHP..

tu veux récupérer la valeur choisie dans le formulaire ?? ça n'a rien à voir avec ta base de données !

pour récupérer la variable :soit $_POST['nom'] soit $nom tout court ( ça dépend de la configuration de ton serveur : si l'option register_globals est à off ou non )

Mais j'ai peut-être mal cerné ton problème ???

A+
 
S
shadow
Guest
Merci beaucoup, ça fonctionne ! :mrgreen:

Je me permets de poser une deuxième question :

J'utilise sur ma page de formulaire un menu déroulant dans lequel on ne peut choisir qu'une valeur. j'envoie ensuite cette valeur à une page php, mais je voudrais l'utiliser aussi dans une deuxième page php, d'où ma question :
Est-il possible d'envoyer la valeur du premier menu déroulant à deux pages et non pas une seule ?

Merci
 
WRInaute impliqué
tu peux aussi récupérer la valeur dans ta première page et l'affecter à un input caché qui transmet à la seconde ...

A+
 
S
shadow
Guest
Merci beaucoup, je ne connaissais pas cette fonction include. Je vais creuser un peu de ce coté là, merci encore :D
 
Nouveau WRInaute
Bonjour,
J'éssaye de faire plus ou moins pareil,

mais je galère au niveau de la boucle d'affichage des criteres du menu déroulant...

J'ai éssayé comme ceci

Code:
type d'annuaire<br />
<?php

$req = mysql_query('select `id`, `genre` from choix');
echo '<select name="type">';
while($choix = mysql_fetch_array)
{
    echo '<option value="'.$choix[0].'">'.$choix[1].'</option>';
}
echo '</select>';

?>

mais quand je charge ma page mon script tourne sans fin, pour me généré des "y" dans le menu déroulant.

Peut-être est-ce la configuration de mon champ genre,
qui est en varchar(32) ?

Cordialement
 
WRInaute occasionnel
Him a dit:
mais je galère au niveau de la boucle d'affichage des criteres du menu déroulant...

J'ai éssayé comme ceci

Code:
type d'annuaire<br />
<?php

$req = mysql_query('select `id`, `genre` from choix');
echo '<select name="type">';
while($choix = mysql_fetch_array)
{
    echo '<option value="'.$choix[0].'">'.$choix[1].'</option>';
}
echo '</select>';

?>

mais quand je charge ma page mon script tourne sans fin, pour me généré des "y" dans le menu déroulant.

Utilise
Code:
type d'annuaire<br />
<?php

$req = mysql_query('select `id`, `genre` from choix');
echo '<select name="type">';
while($choix = mysql_fetch_array($req) )
{
    echo '<option value="'.$choix[0].'">'.$choix[1].'</option>';
}
echo '</select>';

?>

Tu fais une boucle sur une requête inexistante. Tandis qu'avec le code mysql_fetch_array($req) , tu précises la requête qu'il faut utiliser. :wink:
 
Nouveau WRInaute
Salut
merci

oui éffectivement, j'ai oublié de déclarer mon $req dans le fetch_array

(je venais pour l'annoncer :D)

merci quand même à toi :*
 
Nouveau WRInaute
bonjour,

Je relance le sujet car je rencontre un problème sur la même requête. J'utilise exactement la même requête pour mon formulaire :

Code:
echo '<select name="clients">';
$sql = mysql_query('SELECT nom FROM clients order by nom');

while($donnée = mysql_fetch_array($sql))
{
echo '<option value="'.$donnée['nom'].'">'.$donnée['nom'].'</option>'; } echo '</select>'; ?></p><br>
<input type="submit" value="insérer">

Je souhaite récupérer la valeur de mon menu déroulant qui a été sélectionnée pour l'envoyer dans une table différente (echeancier) de ma base de donnée. En effet, mon menu déroulant liste la table "clients" de ma base.
Seulement lorsque je valide mon formulaire, je ne récupére pas dans ma table "echeancier" le nom qui a été sélectionné, il me renvoi un vide dans le champ car la valeur "NULL" n'apparaît pas non plus.

Je vous remercie de m'apporter vos lumières pour éclairer ma lanterne qui ne veut rien savoir ! :(

merci d'avance
 
WRInaute occasionnel
Evite d'utiliser des accents dans tes variables.

Sinon, ta liste, elle est pleine?
Tu peux préciser un peu. Ta table échéancier, c'est bien une table SQL, pas une table de variables?
 
Discussions similaires
Haut