0

我们目前正在我们的网站中实施收件箱系统,并希望用户能够选中多个收件箱消息并单击删除链接以批量删除它们。

每条收件箱消息在数据库中都有自己的 ID。

我们需要帮助的是让复选框系统正常工作。我们不知道从哪里开始;我们是否必须给每个人一个 ID 或用 PHP 填写一些值 - 我们只是不知道。任何帮助是极大的赞赏。

4

4 回答 4

3

您可以为所有复选框赋予相同的名称,以 [] 结尾,以及不同的值,如下所示:

<input type="checkbox" name="deletemessage[]" value="367"/>
<input type="checkbox" name="deletemessage[]" value="394"/>
<input type="checkbox" name="deletemessage[]" value="405"/>

这样,当提交表单时,PHP 会将所有选定的值放入 $_POST 中的一个数组中。因此,如果在上面的示例中选中了顶部和底部复选框,则 $_POST['deletemessage'] 将包含 [367, 405]

于 2010-01-28T02:07:38.900 回答
1
<input type="checkbox" name="check[]" value=1 />
<input type="checkbox" name="check[]" value=2 />
<input type="checkbox" name="check[]" value=3 />
<input type="checkbox" name="check[]" value=4 />
<input type="checkbox" name="check[]" value=5 />

然后这将返回一个您可以循环的数组。

<?php
foreach ($_POST["check"] as $value)
{
echo "message id: $value";
}
?>

关于安全性的说明,您需要确保消息 ID 与尝试删除消息的用户相关联。

于 2010-01-28T02:04:33.780 回答
1

xHTML表单

<input type="checkbox" name="record[]" value="1" />
<input type="checkbox" name="record[]" value="2" />
<input type="checkbox" name="record[]" value="3" />
<input type="checkbox" name="record[]" value="4" />

PHP

<?php

foreach ($_POST['record'] AS $id) {

    $id = (int)$id; // Force to integer (little of security)

    // Delete the record
    mysql_query("DELETE FROM `table` WHERE `id` = {$id}");

}

?>
于 2010-01-28T02:08:31.207 回答
0

首先为所有复选框赋予相同的名称,并在末尾添加方形 brqacketssomename[]

当您提交表单(作为 POST)时print_r($_POST)

于 2010-01-28T02:03:11.163 回答