删除多个标记的项目

Vis*_*ish 0 html php mysql

如何从html中显示的列表中删除多个项目.

例如

<ul>
 <li>item 1</li>checkbox
 <li>item 2</li>
</ul>

<a href="delete.php?ids=checkedids">Delete items</a>
Run Code Online (Sandbox Code Playgroud)

Jon*_*Jon 5

在PHP中执行此操作的简单方法是为所有复选框指定相同的名称,并以该名称结尾[]:

<input type="checkbox" name="item[]" value="1" />
<input type="checkbox" name="item[]" value="2" />
<input type="checkbox" name="item[]" value="3" />
Run Code Online (Sandbox Code Playgroud)

然后您的脚本将所有选中的值作为数组获取:

if(empty($_REQUEST['item'])) {
    // No items checked
}
else {
    foreach($_REQUEST['item'] as $id) {
        // delete the item with the id $id
    }
}
Run Code Online (Sandbox Code Playgroud)

要使这项工作,您需要将复选框放入<form>,并使用提交按钮(不是链接 - 这将无法工作,除非您开始使用JavaScript),如下所示:

<form method="post" target="some/php/script.php">
    <input type="checkbox" name="item[]" value="1" />
    <input type="checkbox" name="item[]" value="2" />
    <input type="checkbox" name="item[]" value="3" />
    <input type="submit" name="delete" value="Delete checked items" />
</form>
Run Code Online (Sandbox Code Playgroud)

这有一些可能的改进(见Crozin的答案),但你应该首先了解基础知识.