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

Fermé
Pedzou - 7 avril 2009 à 09:00
 pedzou - 7 avril 2009 à 14:29
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();
}
}
?>

3 réponses

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
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
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
Merci bien, fallait effectivement rajouté le : $choix = $_POST['choix']; et le $couleur = $_POST['couleur'];

merci bcp et bonne fin de journée ^^

A+
0
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