首页 > 解决方案 > PHP / MySQL:从复选框插入多个数据并将其保存到表中的多行

问题描述

我是 PHP 编程和 MySQL 的新手。关于我的问题,我有 3 个复选框。我需要选择数据并将其保存到数据库中。如果我选择2个数据,则需要将数据1一个1地保存,这意味着将插入两行数据。下面是我的代码示例:

索引.php

    <!DOCTYPE html>
    <html>
        <body>
            <h1>Show Checkboxes</h1>
            <form action="save.php" method="POST">
                <input type="checkbox" name="club[]" value="Chelsea">
                <label for="Chelsea"> Chelsea</label><br>
                <input type="checkbox" name="club[]" value="Liverpool">
                <label for="Liverpool"> Liverpool</label><br>
                <input type="checkbox" name="club[]" value="Arsenal">
                <label for="Arsenal"> Arsenal</label><br><br>
                <button type="submit">Submit</button>
            </form>
        </body>
    </html>

保存.php

    <?php

    include("connect.php");

        $club = implode(',',$_POST['club']);


        $query = "INSERT INTO bpl_club (club_name) VALUES ('$club')";
        $sql = $conn->prepare($query);
        $sql->execute();

        if($sql){

            echo "<script>alert('Record inserted successfully!')</script>";
            echo "<script>window.location = 'index.php'</script>";

        }else{

            echo "<script>alert('Something went wrong. Please try again!')</script>";

        }

    ?>

谁能知道如何解决它?太感谢了..

标签: phpmysql

解决方案


使用 foreach 函数从 $_POST['club'] 数组中一一打印您的复选框

$ClubArray=array();
$ClubArray=$_POST['club'];
foreach($ClubArray as $ClubName)
{
//your Insert code here with the insert query ie INSERT INTO bpl_club (club_name) VALUES ('$ClubName')
}

推荐阅读