是否有一种在PHP中实现“批处理表”的常用方法?

时间:2010-08-31 16:42:29

标签: php

假设我正在撰写一些论坛软件。让我们另外说该论坛软件有一个个人消息组件。我希望用户能够检查该列表中的一些消息,然后单击其他位置的删除按钮以删除所有这些消息。

另一个类似的应用程序是GMail,或者几乎所有其他类型的webmail应用程序。

是否有实现这一目标的通用模式?我可以在每个表行中粘贴一个数据库行ID,但这看起来像一个kludge ....

2 个答案:

答案 0 :(得分:2)

实际上,在的每一行中粘贴一个数据库友好的标识符是此问题的标准解决方案。在您的情况下,标识符将位于复选框的value属性中。

扩展模式是让每个操作都接受一个标识符列表而不是一个标识符列表(这样所有操作都可以作为批处理)。

答案 1 :(得分:2)

实现这一目标的最常用方法是让BROWSER使用数组发送所有选定的ID ..类似于:

<input name="test[]" value="123" /> foo<br />
<input name="test[]" value="133" /> bar<br />
<input name="test[]" value="3" /> barfoo<br />
<input name="test[]" value="4" /> foobar<br />

<?php
if (!empty($_GET['test']) && is_array($_GET['test'])) {
    foreach ($_GET['test'] as $k => $v) {
        echo '<br />delete id' . (int) $v;
    }
}
?>

请注意,我没有运行此代码。所以可能会有一个拼写错误。 :d