bonjour à tous,
voici mon casse tête :
j'incrémente d'une page1.php des champs input (date, quantite, fournisseur) en javascript et je récupère leurs valeurs en page2.php avec une boucle foreach...
dans ma page2.php
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
26
27
28
29
30
31
32
33
34 <script type="text/javascript"> var nb_tags = 0; // compteur function AjouterDate(){ var tag = document.getElementById('ContentTagOeil').value; if (tag.length<=1) { alert("Vous devriez remplir ce champs avec un terme de plus de une lettre");document.getElementById('ContentTagOeil').focus(); } else { var new_span = document.createElement('span'); // on crée un nouvel élément HTML new_span.id = 'tag' + nb_tags; // on lui donne un identifiant new_span.innerHTML += '<input type="date" name="date-' + nb_tags +'">'; new_span.innerHTML += '<input type="number" name="quantite-' + nb_tags +'" step="0.10" min="0" required>'; new_span.innerHTML += '<select class="form-control form-control-sm p-0" name="fournisseur-' + nb_tags +'" required><option value="">Choisissez un fournisseur</option><?php $query_fournisseur = $bdd->prepare("SELECT id,nom FROM fournisseur order by nom ASC"); $query_fournisseur->execute(); while($val_fournisseur = $query_fournisseur->fetch()) { echo '<option value="'.$val_fournisseur['id'].'">'.$val_fournisseur['nom'].'</option>'; } ?></select>'; new_span.innerHTML += '<br>'; document.getElementById('wrap').appendChild(new_span); // on insère l'objet nb_tags++; // on incrémente le compteur } return false; } function SupprimerTag(new_span){ var node=document.getElementById(new_span); node.parentNode.removeChild(node); } </script>
j'affiche le résultat avec une boucle foreach : (déjà là, est ce que je suis sur la bonne solution??)
ce qui me donne en résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 foreach($_POST as $cle => $valeur){ echo "<br /> - $cle = $valeur"; }ma question est : comment faire pour insérer toutes les valeurs ligne par ligne en SQL en 1 seule requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 - id_produit = 1189 - date-0 = 2021-01-14 - quantite-0 = 10 - fournisseur-0 = 5 - date-1 = 2021-01-16 - quantite-1 = 25 - fournisseur-1 = 6
date-0 ,quantite-0, fournisseur-0
ensuite
date-1 ,quantite-1, fournisseur-1
ect...
Je pense que mon problème c'es la façon dont je fait ma boucle foreach ou je ne sait pas récupérer l’attribut du nom de mon champ input??
Merci pour votre aide
Partager