通过PHP以简洁的方式解释相同表单元素的倍数?

时间:2015-04-23 12:45:40

标签: php html forms submit

我现在两次遇到这个问题,我会尽量简短:

我想要一个表,其中每个条目都有类似的操作。从表中删除行,向上移动行,向下移动行。我无法操纵任何按下的按键中的数据,看起来是美观或甚至直接功能的方式。

问题可能是我如何命名它们:

    <tr><td>Example Row 1</td> <td><input name="delete_1" value="delete"></td></tr>
    <tr><td>Example Row 2</td> <td><input name="delete_2" value="delete"></td></tr>
    <tr><td>Example Row 3</td> <td><input name="delete_3" value="delete"></td></tr>
    <tr><td>Example Row 4</td> <td><input name="delete_4" value="delete"></td></tr>

我想让我的PHP脚本在我点击删除第4行时查看我要删除的行。

我相信将值设为行的id并使用它来操作数据会非常简单,但随后文本会在html元素中发生变化。

我有一些奇怪的想法来解决我所看到的问题,使用while循环检查$ POST [&#39;删除。 $ incremented_value]已设置等,但它非常复杂。

道歉,如果我提出一个荒谬的问题或对解决方案视而不见,谢谢你的阅读。

1 个答案:

答案 0 :(得分:1)

将您的HTML更改为以下

<from method="POST" action"somescript.php">
    <table>
        <tr><td>Example Row 1</td> <td><input type="checkbox" name="delete[]" value="1"></td></tr>
        <tr><td>Example Row 2</td> <td><input type="checkbox" name="delete[]" value="2"></td></tr>
        <tr><td>Example Row 3</td> <td><input type="checkbox" name="delete[]" value="3"></td></tr>
        <tr><td>Example Row 4</td> <td><input type="checkbox" name="delete[]" value="4"></td></tr>
    </table>
    <button type="submit">Delete Checked</button>
</form>

然后在php端

$deletes = array_key_exists('delete', $_POST) ? $_POST['delete'] : [];

foreach($deletes as $delete) {
    // do something
}