php - 如何使用复选框和 html 选择的组合将多条记录插入 mysql 数据库

标签 php mysql checkbox

假设有人选择了 2 名学生和 1 名老师 如何在 MYSQL 数据库中发送/创建 2 条不同的记录, - 每个学生/教师组合一个新记录

HTML:

1.) 在这里我可以选择多达“四名”的学生:

    <input type="checkbox" name="ALM[]" value="Bob" >Bob<br />
    <input type="checkbox" name="ALM[]" value="Stacy" >Stacy<br />
    <input type="checkbox" name="ALM[]" value="John" >John<br />
    <input type="checkbox" name="ALM[]" value="Liam" >Liam<br />

2.) 下面我选择“ONE”老师:

    <select name="TCH">
    <option value="Dan">Dan</option>
    <option vaule="Rick">Rick</option>

如果我选择 Bob 和 Stacy(学生)以及我需要的 Rick(老师)。 2 条记录 1.) Bob |里克。 2.) 斯泰西 |里克。

PHP:

这是我的 PHP,我在其中分离传入的复选框数据并尝试发送到数据库

$ALM = implode(',',$_POST['ALM']);
$TCH = $_POST['TCH']; 

$query = "INSERT INTO cl_st_tch (students_id,teachers_id) 
VALUES"; for ($i=0; $i<sizeof($ALM); $i++)
   $query .= "('" . $ALM[$i] . "','$TCH'),";
   $query = rtrim($query,',');
   mysql_query($query) or die (mysql_error() );

我错过了什么?任何帮助将不胜感激

最佳答案

为避免多个 SQL 查询,可以构建单个查询。

    <?php
    $ALM = $_POST['ALM']; //implode(',',$_POST['ALM']);
    $TCH = $_POST['TCH'];
    $arr = array();
    $query = 'INSERT INTO cl_st_tch (students_id,teachers_id) VALUES ';
    foreach($ALM as $student){
            $arr[] = '('.$student.','.$TCH.')';
    }
    if(!empty($arr)) {
            $query .= implode(', ', $arr);
            mysql_query($query);
    }
    ?>

关于php - 如何使用复选框和 html 选择的组合将多条记录插入 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24971334/

相关文章:

php - PDO 不会给出结果

php - 在 yii2 中插入数据库?

php - 是否可以将两个 JSON 对象从 PHP 发送到 Swift?

checkbox - Rails 4 带有 fields_for 的嵌套属性不保存到数据库

javascript - 如何在 ReactJS 中预先选中某些复选框

php - 第777章

mysql - 列表和 Linq To Sql 性能问题

JavaScript-jQuery-PHP : Display specific time dynamically in my datetimepicker from the database

mysql - 连接和查询具有冲突列名的两个表

php - 使用 PDF 格式的 FPDM 设置复选框和单选按钮