mysqli查询删除

时间:2013-03-26 17:34:14

标签: php database mysqli

我将数据库表中的所有数据显示为页面上的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");

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作为其值的一部分)。显然要改变与数据库相关的任何内容。