Code avec boucle for

Résolu
joella Messages postés 114 Statut Membre -  
joella Messages postés 114 Statut Membre -
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. xxkirastarothxx Messages postés 415 Statut Membre 40
     
    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
  2. joella Messages postés 114 Statut Membre 12
     
    Merci beaucoup pour vous de me repondre ça ce marche bien.
    Merci
    0