plusieurs insertions dans une table en même temps avec SQL?..
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...
Code:
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> |
dans ma page2.php
j'affiche le résultat avec une boucle foreach : (déjà là, est ce que je suis sur la bonne solution??)
Code:
1 2 3
| foreach($_POST as $cle => $valeur){
echo "<br /> - $cle = $valeur";
} |
ce qui me donne en résultat :
Code:
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 |
ma question est : comment faire pour insérer toutes les valeurs ligne par ligne en SQL en 1 seule requête :
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