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 :
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
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++; } ?>
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.
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()); } }
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
Partager