我目前正試圖設計一個發票生成器。本質上,頁面在表格的旁邊有輸入字段,允許您創建額外的行來輸入更多的數據。如何將數據插入到表中的多行使用相同輸入名稱變量的數據庫中?
我需要這個數據被存儲在數據庫中的未來被調用來變成一個可下載的.pdf
我現在的問題是如何從表中的數據到數據庫中。到目前爲止,我的代碼只輸入第一行數據。我對此有完全錯誤的看法嗎?
<tr id="item0" class="item">
<td>
1
</td>
<td>
<input name='item_name[0]' type='text' placeholder='Name' class='form-control input-md' />
</td>
<td>
<input name='quantity[0]' type='text' placeholder='0' class='form-control input-md' />
</td>
<td>
<input name='price[0]' type='text' placeholder='£0.00' class='form-control input-md' />
</td>
<td>
total
</td>
</tr>
<tr id="item1" class="item">
<td>
1
</td>
<td>
<input name='item_name[1]' type='text' placeholder='Name' class='form-control input-md' />
</td>
<td>
<input name='quantity[1]' type='text' placeholder='0' class='form-control input-md' />
</td>
<td>
<input name='price[1]' type='text' placeholder='£0.00' class='form-control input-md' />
</td>
<td>
total
</td>
</tr>
,而PHP的...
if (isset($_POST['submit'])) {
print_r(array_values($_POST['item_name']));
}
$i = 0;
foreach($_POST as $val) {
$item_name = $_POST['item_name'][$i];
$quantity = $_POST['quantity'][$i];
$price = $_POST['price'][$i];
$sqlConnect - > query("INSERT INTO `Invoices` (`id`, `item_name`, `quantity`, `price`) VALUES ('".$i.
"', '".$item_name.
"', '".$quantity.
"', '".$price.
"')");
$i++;
}
}
else {
die('No item data to process');
}
爲什麼你迭代'$ _POST'? '$ _POST'中的鍵數量可能不等於您的項目名稱的數量。 –
循環錯誤,但@u_mulder它應該仍然適用於兩行 - $我將範圍從0到5. – inarilo
我將如何得到有關查找項目名稱的數量呢?經過數小時的研究,我發現了這個循環示例 –