我有一个动态表,它设置在 foreach 中,因此对于获取的数组的每个项目创建一个新行。我在最后一列中每行都有一个按钮。当单击该提交按钮时,我应该会收到 PHP 中的 id。提交已正确完成,但我在 PHP 中收到错误的 id。它基本上在提交时获取数组的最后一个 id。知道为什么吗?
这是表格:
<form method="post" id="frm-example" action="<?php echo $_SERVER["PHP_SELF"] . '?' . e(http_build_query($_GET)); ?>">
<table id="example" class="display compact">
<thead>
<th>Device</th>
<th>Sales date</th>
<th>Client comments</th>
<th>Breakage count</th>
</thead>
<tbody>
<?php foreach ($arr_cases_devices as $cases) { ?>
<tr>
<td>
<?php echo $cases['name']; ?>
</td>
<td>
<?php echo $cases["sales_date"]; ?>
</td>
<td>
<?php echo $cases["dev_comment"]; ?>
</td>
<td>
<input type="hidden" name="device_id_breakage" value="<?php echo $cases["Dev_Id"]; ?>" />
<button type="submit" name="see_rma">See RMA</button>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</form>
当我点击see_rma这个时,我收到的 PHP 信息是:
if (isset($_POST['see_rma'])) {
$selected_dev = e($_POST['device_id_breakage']);
print_r($selected_dev); // prints the "Dev_Id" of the last row, not of the row clicked
}
如果我尝试$cases["Dev_Id"];在表中的内部循环中打印,它会打印得很好,因此它会正确打印每行的 Dev_Id。因此,这意味着数组或数据没有任何问题。我不知道为什么会发生这种情况,但这肯定是我第一次遇到这个问题。
我在许多其他表中都这样做了,但由于某些原因,它在这个表中无法正常工作。
phphtml数据表表单提交
蛊毒传说