Code avec boucle for

Résolu
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
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. Merci beaucoup pour vous de me repondre ça ce marche bien.
    Merci
    1. 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 ;)