Witam,
utworzyłam formularz, którego część może zostać powielona przez użytkownika. Standardowo w formularzu występuje zestaw pól dotyczących jednego dostawcy, ale użytkownik może kliknąć "Dodaj dostawcę" i zestaw pól pojawi się ponownie, tyle ile użytkownik doda. Nie wiem jednak przesłać te dynamicznie tworzone pola do bazy danych. Utworzyłam dodatkową tabelę w której id z głównej tabeli przypisane będą wartości dla dostawców, ale najwyraźniej pętla użyta w submit.php nie działa, bo w bazie danych pojawia sie tylko jeden nowy wiersz z ostatnim dostawcą.
Dołączam kod i z góry dziękuję za wszelkie rady.
ps. To moje początki z php więc proszę o wyrozumiałość
<?php
if ($result = $mysqli->query("SELECT id FROM job_order ORDER BY id")) {
/* determine number of rows result set */
$row_cnt = $result->num_rows;
/* close result set */
$result->close();
}
$n =0;
?>
<form action="submit.php" method="POST">
No. <input type="text" name="order_id" value="
<?php echo ++$row_cnt;?>"></div> <br/></div></div>
<fieldset name="Supplier Accounts" >
<div id="supplier">
<?php ++$n;?>
<table class="full" cellspacing="0">
<tr>
<td colspan="2" class="bordered"> <label>Supplier</label><br/><input type="text" name="supplier" value=""></td>
<td colspan="2" class="bordered"><label>Cost</label><br/><input type="text" name="cost" value=""></td>
<td colspan="2" class="bordered"> <label>Cost Plus Tax</label><br/><input type="text" name="cost_plus_tax" value="">
</td></tr>
</table>
</div>
<input type="text" name="n" value="
<?php echo $n;?>" class="hidden">
</fieldset>
<button type="button" name="Submit" onclick="duplicate();">Add supplier</button>
<input type="submit" name="Submit" value="Save">
</form>
<script>
var i = 0;
var original = document.getElementById('supplier');
function duplicate() {
var clone = original.cloneNode(true); // "deep" clone
clone.id = "supplier" + ++i;
// or clone.id = ""; if the divs don't need an ID
original.parentNode.appendChild(clone);
}
</script>
submit.php:
{
$cost_plus_tax= addslashes ($_POST['cost_plus_tax']); $supplier_invoice_no= addslashes ($_POST['supplier_invoice_no']); $sup_issued_on= addslashes ($_POST['sup_issued_on']);
}
else
{
$order_id = $_POST['order_id'];
$supplier=$_POST['supplier'];
$cost= $_POST['cost'];
$cost_plus_tax= $_POST['cost_plus_tax'];
$supplier_invoice_no= $_POST['supplier_invoice_no'];
$sup_issued_on= $_POST['sup_issued_on'];
$n=$_POST['n'];
};
$x=0;
while($x <= $n){
$x++;
$sql3 = "INSERT INTO suppliers (parent_id, supplier, cost, cost_plus_tax, invoice_no, issued_on )
VALUES ('$order_id','$supplier', '$cost', '$cost_plus_tax', '$supplier_invoice_no', '$sup_issued_on')";
}