[php / html] Récupérer 2 variables par select

Résolu/Fermé
Kopros Messages postés 597 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 février 2020 - 17 févr. 2009 à 21:18
 dada26 - 13 déc. 2009 à 21:57
Bonsoir,

J'aimerais faire un truc en html/php, je sais même pas si c'est possible.

Je fais un select tout bête, dans une boucle en php. L'intérêt de la boucle est de récupérer toutes les valeurs dans une base de données pour les mettre en valeurs dans les balises <option> du select.

Le truc c'est que je voudrais également récupérer l'id de chaque valeur.
Comment faire ?
Est-ce qu'on peut mettre une variable qui se met à jour sur la même page que le select ?
Est-ce qu'on peut faire un genre de "double select" , avec un select caché et pas l'autre ?

Merci pour vos réponse.


J'ai trouvé ça en cherchant un peu, mais j'y comprends rien :
https://codes-sources.commentcamarche.net/
A voir également:

6 réponses

lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
17 févr. 2009 à 22:58
ben tu fait fait un truc comme ça (dsl je vais etre rapide ce soir)
<form action="page_recup.php" method="post">
<select name="nom">
la tu fait une boucle while qui te recupere tt tes enregistrements de ta BD du style while($res)
{
echo'option value="'. $id_recupere_dans_ta_requete.'"><"'.$nom_recupere_dans_ra_requete."'> </option>';
</select>
}
ensuite dans ta page page_recup.php tu recupere l'id choisi simplement en faisant un $id=$_post['nom'];

je file au dodo je te laisse creuser le probleme
4
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
18 févr. 2009 à 05:08
de rien avec plaisir ;-)
3
Bonsoir,

Ayant un probleme similaire, je me permet de reprendre l'exemple ci-dessus afin de vous demander si il est possible de recuperer le $nom en meme temps que le $id ?
0
Kopros Messages postés 597 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 février 2020 89
17 févr. 2009 à 23:25
Génial ça marche !
Un grand merci à toi qui m'as appris ce truc, malgré la fatigue !


Voici la synthaxe correcte, dans la page de saisie :

echo "<form action=\"test.php\" method=\"post\">";

$champs=mysql_query("select * from categ");
while ($donnee=mysql_fetch_array($champs))
{
$id2=$donnee['id_categ'];
$cat2=$donnee['catego'];
echo "
<select name=\"nom\">
<option value=\"". $id2."\">".$cat2."
</select>
";
}
echo "<input type=submit value=\"ok\">
</form>";


Et dans la page de traitement :

$id=$_POST['nom'];


Encore merci Lewis :-)
2
Kopros Messages postés 597 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 février 2020 89
18 févr. 2009 à 09:39
Je viens juste de tilter, mon code ne va pas.

Il ne faut pas mettre le <select> dans la boucle while !
La balise d'ouverture doit être juste avant, et celle qui ferme juste après.

Voilà pour la rectification.
1

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

Posez votre question
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
17 févr. 2009 à 22:27
tu veut faire quoi exactement ?

par exemple tu a un select et lorsqu'on fait un choix en fonction du choix un autre select s'affiche ?

ou tu veut englober dans le meme select plusieurs bases de données ?
0
Kopros Messages postés 597 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 février 2020 89
17 févr. 2009 à 22:42
En fait j'ai une base de données avec plusieurs tables.
Dans une de ces tables, j'ai 2 champs qui m'intéressent : id et nom.

Dans mon select (celui qui est dans ma page php), je crée une liste de noms, donc en les prenant dans ma table.
Ensuite, dans d'autres pages, les données sont traitées, et je voudrais travailler avec l'id, et pas avec le nom.

Donc je dois récupérer l'id qui est en corrélation avec le nom choisi par l'utilisateur dans le menu déroulant. C'est ça que je sais pas faire.

J'espère que je suis compréhensible. :-S
0