J'essaye d'insérer des lignes de tableaux dans ma bdd. Seulement je me mange un warning, et l'insertion ne se fait pas:
Warning: Invalid argument supplied for foreach() in F:\xampp\htdocs\Contact\Atelier\2.php on line 8
Si quelqu'un trouve la solution ça serait cool, et si vous pouviez me dire comment le faire de moi-même le prochain coup ça serait encore mieux. Merci d'avance! (le warning est donc dans 2.php).
1.php
<HTML>
<HEAD>
<TITLE> Add/Remove dynamic rows in HTML table </TITLE>
<?php include 'construire.php' ?>
<?php include '2.php' ?>
<SCRIPT language="javascript">
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell1 = row.insertCell(0);
var element1 = document.createElement("input");
element1.type = "checkbox";
element1.name="chkbox[]";
cell1.appendChild(element1);
var cell2 = row.insertCell(1);
cell2.innerHTML = "<input type='text' name='devis_id[]' />";
var cell3 = row.insertCell(2);
cell3.innerHTML = "<input type='text' name='devis_contact[]' />";
//cell2.innerHTML = "<select name='item[]' id='facture_fournisseur' type='text' class='form-control'>< $list = $bdd->query('SELECT * FROM fournisseur');while ($data = $list->fetch()) { ?><option value='< echo $data['fournisseur_nom']; ?>'> < echo $data['fournisseur_nom']; ?></option>< } $list->closeCursor(); ?></select>";
var cell4 = row.insertCell(3);
cell4.innerHTML = "<input type='text' name='devis_refarticle[]' />";
var cell5 = row.insertCell(4);
cell5.innerHTML = "<input type='text' name='devis_designationarticle[]' />";
var cell6 = row.insertCell(5);
cell6.innerHTML = "<input type='text' name='devis_pu[]' />";
var cell7 = row.insertCell(6);
cell7.innerHTML = "<input type='text' name='devis_unite[]' />";
var cell8 = row.insertCell(7);
cell8.innerHTML = "<input type='text' name='devis_quantite[]' />";
var cell9 = row.insertCell(8);
cell9.innerHTML = "<input type='text' name='devis_prixnetunite[]' />";
}
function deleteRow(tableID) {
try {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
for(var i=0; i<rowCount; i++) {
var row = table.rows[i];
var chkbox = row.cells[0].childNodes[0];
if(null != chkbox && true == chkbox.checked) {
table.deleteRow(i);
rowCount--;
i--;
}
}
}catch(e) {
alert(e);
}
}
</SCRIPT>
</HEAD>
<BODY>
<div class="return"></div>
<INPUT type="button" class="btn btn-success" value="Ajouter un autre produit" onClick="addRow('dataTable')" />
<INPUT type="button" class="btn btn-danger" value="Supprimer le produit" onClick="deleteRow('dataTable')" />
<form action="" method="post" name="f">
<table class="table table-bordered table-striped table-condensed" width="1000" border="1">
<thead>
<tr>
<th width="40"></th>
<th width="40">ID</th>
<th width="40">Contact</th>
<th width="40">Référence Article</th>
<th width="40">Désignation Article</th>
<th width="40">Prix unitaire</th>
<th width="40">Unité</th>
<th width="40">Quantité</th>
<th width="40">Prix Net Unitaire</th>
</tr>
</thead>
<tbody id="dataTable">
</tbody>
</TABLE>
<INPUT type="submit" value="Insert" name="submit" />
</form>
</BODY>
La question c'est qu'est tu as modifié depuis ces quelques jours ? ....
Ensuite concernant le code :
if($_POST['submit'])
N'est pas correct pour la simple raison que si 'submit' n'existe pas encore tu auras une erreur. Si tu veux vérifier l’existence de 'submit' utilise la fonction isset()
Au lieu de te focaliser sur l'INSERT, qui est très loin du foreach, essaie de savoir ce que tu envoies à ton script
En l'état,il faut entrer dans le FOREACH avant de dire que l'insertion ne fonctionne pas, et pour l'instant tu es au pied du foreach tu attends qu'on te donne LA solution.
Cherche un peu, la solution est donnée dans l'erreur: tu ne lui donnes pas un tableau OR il attends un tableau.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Activer les erreurs PDO / (julp) htmlspecialchars / FAQ PHP / Pas d'aide par MP
Activer les erreurs PDO / (julp) htmlspecialchars / FAQ PHP / Pas d'aide par MP
Keep It Simple Stupid - SF4 conf Swift - Cours 1/4 SF4 - Exceptions PDO - Formes Normales
Keep It Simple Stupid - SF4 conf Swift - Cours 1/4 SF4 - Exceptions PDO - Formes Normales