【发布时间】:2018-08-30 00:52:27
【问题描述】:
在我的项目中,我有一个表,我使用 while 循环将数据提取到该表中。这是它的代码。
<form action="returnDoc.php" method="post">
<div class="row">
<div class="col-md-2">
</div>
<div class="col-md-8">
<div class="row">
<div class="col-md-12">
<h3>Return Document</h3>
</div>
</div><br><br>
<table class="table table-responsive-lg table-hover">
<tr>
<th>
No
</th>
<th>
Document ID
</th>
<th>
Put the tick for returns
</th>
</tr>
<?php while ($_r = mysqli_fetch_assoc($q_set)) { ?>
<tr>
<td>
<?php echo $_r['number']; ?>
</td>
<td>
<?php echo $_r['doc_id']; ?>
</td>
<td>
<input type="checkbox" name="return" value="<?php echo $_r['doc_id']; ?>" />
</td>
</tr>
<?php } ?>
</table>
</div>
<div class="col-md-2">
</div>
</div>
<div class="row">
<div class="col-md-4">
</div>
<div class="col-md-4">
</div>
<div class="col-md-4">
<input type="submit" value="SEND TO DSO" name="submit" class="btn btn-light"/>
</div>
</div>
</form>
如您所见,表格位于表单内,表格中的每一行都有一个复选框。
这是我的数据库表的屏幕截图。如您所见,有一个名为可用性的字段,它们的值被“锁定”。 当我单击提交时,我想将这些锁定的字段更新为“已返回”,其中勾选了复选框。 其他没有打勾的不要更新。
所以,这就是我所做的。
if (isset($_POST['submit'])) {
$update_query = "UPDATE req SET availability = 'returned' WHERE doc_id='$_POST[return]'";
mysqli_query($conn, $update_query);
}
我的问题是,此查询仅更新我勾选的最后一行,因为它在循环完成后获取值。它不会更新我选择的所有行。因此,如果您有任何想法如何实现这一点,请帮助我。
【问题讨论】:
-
你能显示
$_POST['return']数组里面的内容吗? -