Bonjour,

Je voudrais faire une boucle pour récupérer la valeurs de mes inputs sur plusieurs lignes (toujours les mêmes champs sur chaque ligne du formulaire).

Le formulaire à 12 lignes donc je les créé dans mon body comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php 
                        $i = 1;
 
                        while ($i <= 12) {
                        ?>
                        <tr>
                        <td class="fond_formulaire" align="center">                  <div align="center">
                              <input id="ref<?php echo $i; ?>" name="ref<?php echo $i; ?>" size="6" maxlength="6" />                
                            </div></td>
                            <td class="fond_formulaire">                  <div align="center">
                              <input id="qte<?php echo $i; ?>" name="qte<?php echo $i; ?>" size="1" maxlength="1" value="1" onblur="verif_quantite(this.name,this.value);" />                
                            </div></td>
                            <td class="fond_formulaire">                    <div align="center">
                              <input id="designation<?php echo $i; ?>" name="designation<?php echo $i; ?>" size="50" maxlength="255" />                  
                            </div></td>
                            <td class="fond_formulaire">                    <div align="center">
                              <input id="ref_appareil<?php echo $i; ?>" name="ref_appareil<?php echo $i; ?>" size="10" maxlength="10" />                  
                            </div></td>
                            <td class="fond_formulaire">                    <div align="center">
                              <input id="numero_fabrication<?php echo $i; ?>" name="numero_fabrication<?php echo $i; ?>" size="10" maxlength="10" />                  
                            </div></td></tr>
                        <?php
                        $i++;
                        }    
                    ?>
Donc j'essaye de récupérer les valeurs envoyées en POST quand le formulaire est envoyé mais j'ai que des "array1, array2,..." :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
for ($i=1;$i<12;$i++){
            if(isset($_POST['ref'.$i])){
            $ref[] = isset($_POST['ref'.$i]);
            $designation[] = isset($_POST['designation'.$i]);
            $ref_appareil[] = isset($_POST['ref_appareil'.$i]);
            $numero_fabrication[] = isset($_POST['numero_fabrication'.$i]);
            $qte[] = isset($_POST['qte'.$i]);
            echo $ref.$i;
            $result1 = mysql_query("INSERT INTO posts_commande (id_commande, ref_piece , quantite, designation, ref_appareil , num_fabric) VALUES ('$id_commande', '$ref$i', '$qte$i', '$designation$i', '$ref_appareil$i', '$numero_fabrication$i')", $dbprotect) or die(mysql_error());
            }
 
        }
Il faut aussi prendre en compte que les lignes ne sont pas forcément remplises :-S Et donc je ne veux insérer dans ma table que celles dont au moins que le champ "désignation" soit remplit.
Dans cet exemple j'ai mis dans le if la condition que la "ref" soit remplise pour prendre en compte la ligne dans la base.

Merci pour votre aide
A bientôt