【发布时间】:2018-11-10 14:08:20
【问题描述】:
我正在处理一张要更新表格数据的发票。
我的脚本只更新表格的最后一行。 这可以与这个 foreach 循环一起使用吗?
以下是我尝试使用的脚本:
HTML 输入字段
<tr>
<input type="hidden" name="data['+i+'][Id]" value="<?php echo $Id; ?>" >
<input type="hidden" name="data['+i+'][ItemId]" value="<?php echo $item_Id; ?>" >
<td><input type="text" value="<?php echo $item; ?>"></td>
<td><input type="text" name="data['+i+'][QTY]" value="<?php echo $Quantity; ?>"</td>
<td><input type="number" value="<?php echo $price; ?>"></td>
<td><input type="number" name="data['+i+'][total]" value="<?php echo $total; ?>"></td>
</tr>
PHP
if (isset($_POST['submit'])) {
foreach($_POST['data'] as $key => $data) {
$Id = intval($data['Id']);
$itemId = intval($data['ItemId']);
$QTY = intval($data['QTY']);
$Total = intval($data['total']);
if($itemId > 0) {
$query = $db - > prepare("UPDATE table SET QTY = :QTY where id = :ID ");
$query - > execute(array(':ID' => $ID, ':QTY' => $QTY));
}
}
}
【问题讨论】:
-
您的 HTML 和 PHP sn-ps 之间有几个变量名不匹配。即,
$item_Id与$itemId、$Quantity与$QTY、$total与$Total。您还需要提供显示您如何分配$price和$item的sn-p。 -
输入名称索引中的“i”变量是什么?
-
@IvanTalanov 变量的名称不会对提交的内容产生任何影响,但输入的名称会。
-
@Tobia - 这些是从数据库中获取的多行。这就是我分配“i”的原因。
-
您能告诉我们生成的 html 是什么吗?例如: