为了账号安全,请及时绑定邮箱和手机立即绑定

使用复选框删除多行

使用复选框删除多行

PHP
Smart猫小萌 2022-05-27 16:32:07
我有这个代码<html><head>    <meta charset="UTF-8">    <title> Game Library</title>    <link href="css/style.css" type="text/css" rel="stylesheet"></head><body>    <div id="wrapper"><div id="search">    <img id="del" src="img/delete.jpg" alt="Error">        <a class="A" href="index.php"><img class="AR" src="img/src.jpg" title="Search library"></a>            <a class="A" href="insert.php"><img class="AR" src="img/add.png" title="Add game"></a>    <div id="results">    <?php          require("inc/connection.php");$query = "SELECT * FROM Library";$result = mysqli_query($conn,$query);    if(mysqli_num_rows($result)>0){        while($row = mysqli_fetch_assoc($result)){            ?><div id="results">            <form action="inc/delete.php" method="GET">            <input type="checkbox" name="checkbox[]"  value="<?php echo $row['ID'] ?>">     <p id="p1">Name: <?php echo $row['Name']?>;</p>                    <p>Genre: <?php echo $row['Genre']?></p>                    <p>Release date: <?php echo $row['Release_date']?></p>                    <p>Publisher: <?php echo $row['Publisher']?>:</p>                    <p>Platforms: <?php echo $row['Platforms']?></p>                </div>                <?php        }?>    <input  type="submit" name = "submit" value = "Submit"></form>        <?php}else{        echo "No results!";    }    </div>            </div></div></body></html>我应该创建action="inc/delete.php"脚本,允许我使用复选框和提交按钮删除多行。有人可以帮我解决这个问题吗?老实说,我不知道如何完成这个....
查看完整描述

3 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

<?php 

    if(isset($_POST['submit']))

    {

        if(!empty($_POST['checkbox']))

        {

            foreach ($_POST['checkbox'] as $key => $check)

            {

                // delete query

            }

        }

    }

?>

注意:您未能在第 1 行关闭 PHP。40. 请确认您的 PHP 标签是否关闭。


查看完整回答
反对 回复 2022-05-27
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

需要先将表单方法设置为“POST”


所以,修改


<form action="inc/delete.php" method="GET">


至:


<form action="inc/delete.php" method="post">


而在inc/delete.php,


if (isset($_POST['submit'])){ // Check if form is submitted.

 if (! empty($_POST['checkbox'])){ // Check if Checkbox is checked.

  // Loop over the checkbox and get selected ids.

  foreach($_POST['checkbox'] as $checkbox_id){

    echo $checkbox_id."<br/>";

    // Add your delete query here.

  }

 }

}


查看完整回答
反对 回复 2022-05-27
?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

所以解决方案是你得到你的idsdelete脚本array。您可以解析该数组并为每个执行 DELETE 查询id:


if(isset($_POST['checkbox']))

{

    foreach($_POST['checkbox'] as $val)

    {

        $stmt = $conn->prepare("DELETE FROM Library WHERE id = ?");

        $stmt->bind_param('i', $val);

        $stmt->execute();

    }

}


查看完整回答
反对 回复 2022-05-27
  • 3 回答
  • 0 关注
  • 198 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号