0

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

1 回答 1

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 的所有行。

如果您使用准备好的语句,您可以使用以下查询 where ?is implode(',', $_POST['delete'])

"DELETE FROM " . $table . " WHERE FIND_IN_SET(id, ?) != 0"

为了简单起见,我在这里假设您有一个唯一的id字段(不包含,s 作为其值的一部分)。显然更改为与您的数据库相关的任何内容。

于 2013-03-26T23:01:33.563 回答