当前位置: 首页 > 面试题库 >

PHP的多个复选框删除

慕志泽
2023-03-14
问题内容

我很难解决多个复选框删除问题。有人可以指导我解决问题吗?此处应该发生的情况是,用户可以在框上打勾,然后单击“删除”按钮以删除被打勾的框。不幸的是,我的代码似乎无效。你能为我指出正确的方向吗?

<div id="container" class="page">
        <img id="disclaimer" class="page" src="images/DISCLAIMER.png" alt="" />
        <img id="logo" class="page" src="images/MI-LOGO.png" alt="" />
        <div id="videoContainer" class="page">
            <video id="video" controls>
                <source src="video/animationTest.m4v" />
            </video>
        </div>
        <div id="etc" class="page">
            <form action="<?php echo $_SERVER['PHP_SELF']?>" method="POST">
                    <textarea name="textPost" id="textPost"> 
                    </textarea>
                        <input type="submit" name="btnPost" id="btnPost" value="Post" />
                        <div id="displayOpacity">
                            <input type="text" name="display" id="display" value="0" />
                        </div>
                        <input type="submit" value="Delete" name="btnDelete" id="btnDelete" />


        </div>
        <div id="postItDiv" class="page">
            <?php
                $cxn = mysqli_connect('localhost','root','root','TimePost')  or die(mysqli_error());
                $selectQuery = "SELECT PostID, ClientName, VideoName, PostTime, Post, Date FROM tblTimePosts";
                $selectResult = mysqli_query($cxn,$selectQuery) or die(mysqli_error());
                while($row = mysqli_fetch_assoc($selectResult)) 
                {
                    $postz = $row['Post'];
                    $timez = $row['PostTime'];
                    $idNoz = $row['PostID'];
                    echo '<div id="post1"><p class="postParagraph">Post ID No.'.$idNoz.'<br />'.$postz.' at '.$timez.' seconds mark</p><input type="checkbox" name="checkbox[]" id="checkbox[]" value="'.$idNoz.'"</input></div>';
                }
            if ($_POST['btnPost'] == "Post") {

                $toPost = $_POST['textPost'];
                $date = date("y-m-d");
                $postTime = $_POST['display'];
                $postTime = floor($postTime);

                $insertQuery = "INSERT INTO tblTimePosts VALUES ('','Mimagazine Asia','Chelsea','$postTime','$toPost','$date')";
                $insertResult = mysqli_query($cxn,$insertQuery) or die(mysqli_error());
                $query = "SELECT PostID, ClientName, VideoName, PostTime, Post, Date FROM tblTimePosts";
                $result = mysqli_query($cxn,$query) or die(mysqli_error());
                while($row = mysqli_fetch_assoc($result)) 
                {
                    $post = $row['Post'];
                    $time = $row['PostTime'];
                    $idNo = $row['PostID'];
                    echo '<div id="post1"><p class="postParagraph">Post ID No.'.$idNo.'<br />'.$post.' at '.$time.' seconds mark</p><input type="checkbox" name="checkbox[]" id="checkbox[]" value="'.$idNo.'"</input></div>';
                }
            }
            else if($_POST['btnDelete'] == "Delete")
            {
               $tbl_name = 'tblTimePosts';
               foreach ($_POST['checkbox'] as $id => $value) 
               {
                  $sql = 'DELETE FROM `'.$tbl_name.'` WHERE `PostID`='.(int)$id;
                  $resulta = mysqli_query($cxn,$sql);
                  if ($resulta > 0) {
                                echo "success";
                            }
                            else
                                echo "fail";
                        }
                        header('Location: videoJudge.php'); 
                 }
            ?>
            </form>
        </div>

            <span id="copyright" class="page">Copyright 漏 2011<span style="color:#00AEEF;">mi</span>magazine.asia</span>
            <span id="comment" class="page" style="color:#00AEEF;">comment/s</span>
            <span id="download" class="page">(Right-click to download video)</span>
    </div>

问题答案:

此HTML:

echo '<div id="post1"><p class="postParagraph">Post ID No.'.$idNoz.'<br />'.$postz.' at '.$timez.' seconds mark</p><input type="checkbox" name="checkbox[]" id="checkbox[]" value="'.$idNoz.'"</input></div>';

应该:

echo '<div id="post1"><p class="postParagraph">Post ID No.'.$idNoz.'<br />'.$postz.' at '.$timez.' seconds mark</p><input type="checkbox" name="checkbox[]" id="checkbox[]" value="'.$idNoz.'" /></div>';

该查询else if($_POST['btnDelete'] == "Delete")应为:

$sql = 'DELETE FROM `'.$tbl_name.'` WHERE `PostID`='.(int)$value;


 类似资料:
  • 问题内容: 我在这里查找了一些示例,但是其中许多示例要么太高级以至于无法掌握PHP,要么它们的示例过于针对自己的项目。我目前正在努力处理PHP表单的非常基本的部分。 我正在尝试创建一个带有几个复选框的表单,每个复选框分配一个不同的值,我希望将这些复选框发送到一个变量(数组?),以便以后可以回显/使用,在我的情况下,我将在其中发送已检查的值一封电邮。 到目前为止,我已经尝试了一些变体,但是最接近的是

  • 问题内容: 如标题所示,我想从数据库中删除多行。为此,我有两个文件,一个前端文件,该文件生成一个表,该表显示用户可以删除的文件,这些文件可以使用复选框选择。 后端文件将处理选定的复选框,并使用SQL语句删除选定的文件。 我遇到的问题是将所选文件的ID从前端传递到后端。这两个文件的代码如下: 前端 后端 请注意,一旦运行,我将使用unlink函数通过前端表的doc_link部分删除服务器上的文件。谢

  • 问题内容: 我想从MYSQL数据库中删除多行。我已经创建了这个delete.php文件,以选择各种链接并使用复选框将其删除。 这似乎没有删除任何行。我的数据填充在表中。我猜问题出在PHP代码上。请帮我在这里。 问题答案: 您应该将其视为这样的数组, 只有这样,您才能对其计数并循环删除。 您还需要将数据库连接传递给查询。 您的没有包括:

  • 问题内容: 如何使用PHP获取提交时选中的多个复选框的名称或ID?以下是示例表格。谢谢。 问题答案: 仅当选中复选框时,才从表单提交复选框值。此外,重要的是name属性,而不是ID。 有几种处理PHP中复选框的方法: 为所有复选框指定相同的名称,后跟一对方括号,以便将整个集合视为一个数组。在这种情况下,请为每个复选框指定一个值。 为每个复选框指定不同的名称和值。 为每个复选框指定一个不同的名称,但

  • 问题内容: 如何在Firefox中设置复选框样式,并取消选中标记和边框? CSS: HTML: 问题答案: input[type=”checkbox”] {

  • 问题内容: 我有1个表单,里面有多个复选框(每个都有代码): 数据库中的主键在哪里- 因此每个值都不同。 我如何知道已经选中了哪些复选框?(也许多个) 这是针对收件箱系统的,我下面有一个按钮,我希望(单击时)删除选中了复选框的所有消息(标识:)。 问题答案: 在表单中将名称设置为,您将能够以array()的形式访问所有复选框。 以下是根据要求提供的一些示例: