我将数据库表中的所有数据显示为页面上的HTML表。 当管理员选择一行时,它会向HTML表格中的父行添加一个“删除”类。
然后我想从mysqli数据库中删除它。我会将行字段设置为变量并删除与数据库中匹配的行吗?我不知道怎么做,请有人指点我正确的方向吗?
HTML
<table>
<tr class="remove">
<td>field1</td>
<td>field2</td>
<td>field3</td>
</tr>
<tr>
<td>another field</td>
<td>another field</td>
<td>another field</td>
</tr>
</table>
Mysqli(相关样本)
$mysqli->query("DELETE FROM $table WHERE Date="??" LIMIT 1");
答案 0 :(得分:1)
如果您正在使用JavaScript
,我假设您在选择某个行时将其添加到行中,则可以执行以下操作:
<强> 1。在每行中包含隐藏的禁用输入:
<tr class="remove">
<td>field1</td>
<td>field2</td>
<td>
field3
<input type="hidden" disabled name="delete[]" value="<?php echo $id; ?>">
</td>
</tr>
<强> 2。选择删除时启用隐藏输入:
我不会猜测你是如何将remove
类添加到行中的,但是这样做会删除包含的隐藏disabled
输入的delete[]
属性在其中。
第3。发布表格:
发布后,您可以运行查询以删除$_POST['delete']
数组中包含ID的所有行。
如果您使用预准备语句,则可以使用?
为implode(',', $_POST['delete'])
的以下查询:
"DELETE FROM " . $table . " WHERE FIND_IN_SET(id, ?) != 0"
为了简单起见,我假设您有一个唯一的id
字段(不包含,
s作为其值的一部分)。显然要改变与数据库相关的任何内容。