php - 如何使用复选框删除多个条目? (PHP)

标签 php sql checkbox

所以我一直在查看一些有关使用多个复选框作为输入的资源。我正在构建一个 PM 系统,希望用户能够勾选任何消息,然后通过按钮将其删除。

问题是每当我检查任何消息时:

答:您必须单击删除按钮两次。

B:只有列表中的第一条消息才会被删除。

按钮组:

<form method="post"
    <div class="button-group">
        <button type="submit" name="delete" class="delete button inbox">Delete</button>
        <button type="submit" name="mark" class="mark button inbox">Mark as Read</button>
    </div>

稍后表行:

<?php
    while ($row = mysqli_fetch_array($result)){?>
        <tr>
            <td><?php echo $row['PM_User1ID'];?></td>
            <td><?php echo $row['PM_User2ID'];?></td>
            <td><?php echo $row['PM_Subject'];?></td>
            <td><?php echo $row['PM_Timestamp'];?></td>
            <td>
                <label>
                    <input type="checkbox" name="check_list[]" value="<?php echo $row['PMID'];?>"><?php echo $row['PMID'];?>
                </label>
                </form>
            </td>
            <?php echo '<td><a name="'.$row['PMID'].'"href = "?link='.$row['PMID'].'">Reply</a></td>'; ?>
        </tr>
    <?php } ?>

最后是提交帖子:

<?php
        if (isset ($_POST['delete'])){

            if(!empty($_POST['check_list'])){

                foreach($_POST['check_list'] as $selected){

                    $pmDelete = "DELETE FROM pm WHERE PMID = $selected"; 
                    $deletePM = $con->query($pmDelete);

                }
            }   
        }
    ?>

PM Page

GIF of issue

最佳答案

事实证明(通过与评论中的OP交谈),是 empty()复选框的函数需要是 isset() .

然后需要( header )重定向(成功删除后)以显示(新)结果。

引用文献:

您还应该考虑使用准备好的语句:


脚注:

正如我也提到的,<form>不能是 <table> 的子项和失踪的>对于 <form method="post"这会造成严重破坏。

关于php - 如何使用复选框删除多个条目? (PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38621500/

相关文章:

php - 一场比赛的足球模拟

php - 使用 CA 文件从 Azure Database for MySQL 进行 SSL 连接

sql - 从 Android 访问 SQL 数据库?

jquery - column-count 可以拆分为 div 中的 2 个复选框区域吗?

javascript - 使用 Javascript 选择/取消选择 Rails 4 中的所有动态复选框

php - 来自静态文件的 HLS 直播

Mysql Self Join查找同一张表中的父子关系

MYSQL - 没有结果时如何显示 0?

HTML/CSS : How to resize checkboxes (without overlapping)

Php视频上传脚本