Page 1 sur 1
récupérer le choix d'un menu déroulant
Posté : 14 avr. 2005, 16:03
par Invité
Bonjour tout le monde,
je voudrais savoir comment récupérer le choix que l'utilisateur a fait dans un menu déroulant (rempli à l'aide d'une table) sur une autre page...
je sais pas si j'ai été clair, merci d'avant pour votre aide.
Posté : 14 avr. 2005, 16:18
par piet
bon, j'commente pas, mais si t'as des problèmes n'hésite pas, je te mets un exemple :
Code pour la dropdown :
<?php
require_once('../../includes/connexion.php'); //DBConnexion include
?>
<html>
<body>
<form action="" method="post" name="add">
<p>Privilège
<select name="privilege" id="privilege">
<?php
mysql_select_db($database_semdb, $semdb); //DB Connexion
$query_priv="SELECT * FROM priv";
$result_priv=mysql_query($query_priv);
mysql_close();
$num_priv=mysql_num_rows($result_priv);
while($row_priv=mysql_fetch_array($result_priv)) {
$id_priv[]=$row_priv["id_priv"];
$nom_priv[]=$row_priv["nom_priv"];
}
for($i_priv=0;$i_priv<$num_priv;$i_priv++) { //Fill dropdownlist
printf("<option value=\"$id_priv[$i_priv]\">$nom_priv[$i_priv]</option>");
}
?>
</select>
</p>
<p><input type="submit" name="Submit" value="Créer cet utilisateur"></p>
</form>
</body>
</html>
Posté : 14 avr. 2005, 16:34
par Invité
oula j'ai pas tout compris là, faut que je teste...
en fait le menu déroulant je l'ai mais je ne sais pas comment faire pour utiliser le choix de l'utilisateur comme paramètre dans une requête sql dans une autre page.... :/ je sais pas si je me suis fait comprendre..
Posté : 18 avr. 2005, 13:32
par pikachu639
pourrai tu nous montrer ton code g peut etre ta solution sous les yeux cela va dependre de ton code pour le menu deroulant

Posté : 18 avr. 2005, 15:23
par Invité
1ère page où l'utilisateur sélectionne dans un menu déroulant un nom de fabricant dont la liste vient d'une requête :
$sql = "SELECT fab_nom FROM fabricant ORDER BY fab_nom ASC";
$r_fablist=mysql_query("$sql") or die("Invalid query : ".mysql_error());
echo "selectionner un fabricant : <form name='fablist' action='listprod_fab.php' method='POST'><select name='example'>";
echo "<option value=''>Sélectionner un fabricant</option>";
while ($result = mysql_fetch_array($r_fablist))
{
echo "<option value='choix'>".$result[0]."</option>";
}
2ème page où je dois récupérer le choix fait pour l'utiliser dans une requête :
$sql = "SELECT p_nom FROM produit, fabricant WHERE produit.fab_num=fabricant.fab_num AND fab_nom='choix_récupéré'";
$result=mysql_query("$sql") or die("Invalid query : ".mysql_error());
echo "<table border=1><tr>";
while ($resultat = mysql_fetch_array($result))
{
echo "<td>".$resultat[0]."</td>";
}
echo "</tr></table>";
j'espère que ça te convient..

Merci

Posté : 18 avr. 2005, 17:41
par jujub
Utilise une methode POST.......ca devrait etre plus facile
Posté : 18 avr. 2005, 18:29
par Invité
tu peux me montrer rapidement ? j'ai essayé mais ça n'a pas fonctionné :/
en plus vu que le choix que l'utilisateur fait est dynamique...
Posté : 19 avr. 2005, 09:35
par Invité
Il faut que tu face un <form method=post action='ta_deuxieme page'>
et que tu recupere la donnée de cette facon : $POST_ma variable,sinon montre moi ton code avec ta methode post ....ça sera plus formateur......et plus facile 8)
Posté : 19 avr. 2005, 09:53
par Invité
1ère page où l'utilisateur sélectionne dans un menu déroulant un nom de fabricant dont la liste vient d'une requête :
$sql = "SELECT fab_nom FROM fabricant ORDER BY fab_nom ASC";
$r_fablist=mysql_query("$sql") or die("Invalid query : ".mysql_error());
echo "selectionner un fabricant : <form name='fablist' action='listprod_fab.php' method='POST'><select name='example'>";
echo "<option value=''>Sélectionner un fabricant</option>";
while ($result = mysql_fetch_array($r_fablist))
{
echo "<option value='choix'>".$result[0]."</option>";
}
2ème page où je dois récupérer le choix fait pour l'utiliser dans une requête :
$sql = "SELECT p_nom FROM produit, fabricant WHERE produit.fab_num=fabricant.fab_num AND fab_nom='choix_récupéré'";
$result=mysql_query("$sql") or die("Invalid query : ".mysql_error());
echo "<table border=1><tr>";
while ($resultat = mysql_fetch_array($result))
{
echo "<td>".$resultat[0]."</td>";
}
echo "</tr></table>";
par contre kand je fais un $_POST['choix'] à la place de 'choix_récupéré dans la deuxième page il me dit qu'il ne connait pas 'choix'....
Posté : 19 avr. 2005, 10:33
par jujub
[quote]par contre kand je fais un $_POST['choix'] à la place de 'choix_récupéré dans la deuxième page il me dit qu'il ne connait pas 'choix'....
[/quote]
essaye de recuperer du style
var = $_POST['choix'] puis tu insert $var à ta requete
Posté : 19 avr. 2005, 11:31
par Invité
il me met ça : Undefined index: choix
quand je créé la variable ... ça veut dire koi ?
Posté : 19 avr. 2005, 11:44
par Invité
c'est bon tout est réglé, erreur bête :/
j'avais pris la 'value' de <option> au lieu du <select>...
merci pour votre aide :p
Posté : 19 avr. 2005, 11:45
par Invité
t'aurais pas le code des deux pages parce que là je vois pas trop bien........t'as essayer la solution de piet elle me parait pas mal..........

Posté : 19 avr. 2005, 11:55
par jujub
Desolé j'avais pas vu...........Donc tu peux mettre RESOLU....... =D>
Posté : 19 avr. 2005, 11:59
par lamk
j'étais pas loggé j'peux pas
