Code avec boucle for

Résolu/Fermé
joella Messages postés 112 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 2 juin 2009 - 20 nov. 2008 à 10:10
joella Messages postés 112 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 2 juin 2009 - 20 nov. 2008 à 12:44
Bonjour,
J'ai un pbm sur ce code ci_dessous:
Voir le code de formulaire
<form method="post" name="bureau" action="ajout_bureau.php">
<table width="200" border="1">
<div align="center"><span class="Style5">MOBILIER DE BUREAU</span></div>
<tr>
<th>Numero d'Inventaire</th>
<th>Désignation</th>
<th>Forme</th>
<th>Spécificité</th>
</tr>
<?php
for ($i=0; $i<5; $i++)
{
echo " <tr><td><input type='text' name='num[$i]' value='' size='20'></td>
<td><input type='text' name='designation[$i]' value='' size='20'></td>
<td><input type='text' name='forme[$i]' value='' size='20'></td>
<td><select name='specificite[$i]'>
<option>Bois</option>
<option>Cuir</option>
<option>Metallique</option>
<option>Plastique</option>
</select>
</td>";
}

?>
<tr><td colspan="4"><center><input type="submit" value="Ajouter" /></center></td></tr>

</table>
</form>
Code sur le ajout_mobilier.php
<?php
require_once("connexion_fiche.php");
for ($i=0; $i<5; $i++)
{
// declaration de la variable dans le table mobilier de bureau
$V=isset($_POST["num[$i]"])?$_POST["num[$i]"]:"";
$D=isset($_POST["designation[$i]"])?$_POST["designation[$i]"]:"";
$F=isset($_POST["forme[$i]"])?$_POST["forme[$i]"]:"";
$S=isset($_POST["specificite[$i]"])?$_POST["specificite[$i]"]:"";
//--->

// insertion des données dans la table mobilier de bureau
$bureau="INSERT INTO mobilier_bureau (numero_inventaireB, designationB, forme, specificite) VALUES ('$V','$D','$F','$S')";
echo $bureau;
$query=mysql_query($bureau) or die(mysql_error());
echo $query;
echo "<p><font face='Arial' size='3'><center>L'enregistrement du mobilier de bureau est bien faite</center></font></p>";
//--->

}
include("bureau.php");
?>
Le pbm est la requte ne fait rien et si je fait echo $bureau; il renvoie comme ceci:"INSERT INTO mobilier_bureau (numero_inventaireB, designationB, forme, specificite) VALUES ('','','','')Duplicata du champ '' pour la clef 1"
Si quelq'un a une idée pour resoudre mon pbm, je vous remercie
A voir également:

2 réponses

xxkirastarothxx Messages postés 380 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 22 mars 2013 40
20 nov. 2008 à 10:33
Salut:
Alors deja je pense qu'il serrait bon d'eviter les variable bizzaroides ^^
num[$i] => num$i
et la definition de tes varaible $V $D $F et $S j'ai pas trop compris, 'fin je connait pas cette façon de coder^^
j'ai remplacer avec un if(isset());
ça donne:

<form method="post" name="bureau" action="ajout_bureau.php">
<table width="200" border="1">
<div align="center"><span class="Style5">MOBILIER DE BUREAU</span></div>
<tr>
<th>Numero d'Inventaire</th>
<th>Désignation</th>
<th>Forme</th>
<th>Spécificité</th>
</tr>
<?php
for ($i=0; $i<5; $i++)
{
echo " <tr><td><input type='text' name='num$i' value='' size='20'></td>
<td><input type='text' name='designation$i' value='' size='20'></td>
<td><input type='text' name='forme$i' value='' size='20'></td>
<td><select name='specificite$i'>
<option>Bois</option>
<option>Cuir</option>
<option>Metallique</option>
<option>Plastique</option>
</select>
</td>";
}

?>
<tr><td colspan="4"><center><input type="submit" value="Ajouter" /></center></td></tr>

</table>
</form>
<?php
require_once("connexion_fiche.php");
for ($i=0; $i<5; $i++)
{
// declaration de la variable dans le table mobilier de bureau
	echo "num$i'".$_POST["num$i"]."'";
	if (isset($_POST["num$i"]))
	{
		$V=$_POST["num$i"];
		$D=$_POST["designation$i"];
		$F=$_POST["forme$i"];
		$S=$_POST["specificite$i"];
	}
//--->

// insertion des données dans la table mobilier de bureau
$bureau="INSERT INTO mobilier_bureau (numero_inventaireB, designationB, forme, specificite) VALUES ('$V','$D','$F','$S')";
echo $bureau;
$query=mysql_query($bureau) or die(mysql_error());
echo $query;
echo "<p><font face='Arial' size='3'><center>L'enregistrement du mobilier de bureau est bien faite</center></font></p>";
//--->

}
include("bureau.php");
?> 

chez moi ça marche, jusqu'à l'enregistrement de données (j'ai pas tes tables donc jpeux pas test ^^)
Tient nous au courant

Et "Résolu" si ça marche ;)
0
joella Messages postés 112 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 2 juin 2009 12
20 nov. 2008 à 12:44
Merci beaucoup pour vous de me repondre ça ce marche bien.
Merci
0