假设有人选择了 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/