Récupérer données d'une liste déroulante

Pedzou -  
 pedzou -
Bonjour,
j'aimerai récupérer ce que les gens choississent comme options avec une base de données msql, cependant je n'arrive rien à récupérer... voici mon code : MERCI D'AVANCE ^^

<div id="produit">
<p>Produit :
<form action="test.php" method="post">
<select name="produit">
<option value="1">Cartouche nike</option>
<option value="2">Cartouche adidas</option>
<option value="3">Cartouche puma</option>
</p>
</form>
</select>
</div>

<div id="couleur">
Couleur :
<form action="test.php" method="post">
<input type="checkbox" name="case" /> Jaune
<input type="checkbox" name="case" /> Cyan
<input type="checkbox" name="case" /> Rouge
<input type="checkbox" name="case" /> Vert
</form>
</div>

<div id="nombre">
<p>nombre:
<form action="test.php" method="post">
<input type="text" name="nombre">
<p>
</form>
</div>

<div id="envoyer">
<form action="test.php" method="post">
<input type="submit" name="envoyer">
</form>
</div>

<?php
if($_POST['produit'] != NULL AND $_POST['couleur'] != NULL AND $_POST['nombre'] != NULL)
{

{

mysql_connect("localhost", "root", "");
mysql_select_db("valentin");

mysql_query("INSERT INTO stock VALUES('', '$produit', '$couleur', '$nombre')");

mysql_close();
}
}
?>
A voir également:

3 réponses

Jres
 
Bonjour,
Le problème vient du fait que vous avez plusieurs formulaires. En cliquant sur le bouton "Envoyer", vous validez uniquement le dernier formulaire qui ne contient que le bouton et donc aucune information n'est transmise.
Pour résoudre votre problème, il suffit de ne faire qu'un seul form contenant tous vos champs.
Cordialement,
Jres
1
pedzou
 
Merci c'est sympa de ta réponse très rapide... jai encore 1 petit problème :

sa me marque rien dans ma base de données... j'aurai aimé avoir 1 truc du style:

id choix couleur
1 extra bleu
2 optra jaune

cependant jai que l'id qui marche... :( jai mis le type texte pour le choix et les couleurs...est-ce juste ?

Merci bien ^^

form method="post" action="liste.php">
<select name="choix">
<option value="optra">Optra</option>
<option value="lexmark">lexmark</option>
<option value="tetra">tetra</option>
</select>

<p>
<input type="radio" name="couleur" value="jaune"/>jaune
<input type="radio" name="couleur" value="bleu" />bleu
</p>
<p><input type="submit" value="Valider" /></p>
</form>


<?php
mysql_connect("localhost", "root", "");
mysql_select_db("test");
mysql_query("INSERT INTO it VALUES('', '$choix', '$couleur')");

mysql_close();
?>
0
biboo
 
C'est moche comme code.. :/

C'est normal que t'aies rien dans ta base de données, à quoi correspond $choix ?
En principe, pour récupérer le résultat de ton formulaire, tu devrais mettre dans la page :

$choix = $_POST['choix'];
0
pedzou
 
Merci bien, fallait effectivement rajouté le : $choix = $_POST['choix']; et le $couleur = $_POST['couleur'];

merci bcp et bonne fin de journée ^^

A+
0
biboo
 
En gros ça ferait:

formulaire.html :
form method="post" action="liste.php"> 
<select name="choix"> 
<option value="optra">Optra</option> 
<option value="lexmark">lexmark</option> 
<option value="tetra">tetra</option> 
</select> 

<p> 
<input type="radio" name="couleur" value="jaune"/>jaune 
<input type="radio" name="couleur" value="bleu" />bleu 
</p> 
<p><input type="submit" value="Valider" /></p> 
</form> 


liste.php
<?php
$choix = $_POST['choix'];
mysql_connect("localhost", "root", ""); 
mysql_select_db("test"); 
mysql_query("INSERT INTO it VALUES('', '$choix', '$couleur')"); 

mysql_close(); 
?>
0