所以我试图从我的数据库中获取数据到复选框,这就是我尝试过的:
<?php
$query = "SELECT * FROM siswa WHERE id_tingkatan='$idtingkatan'";
$result = $koneksi->query($query);
while($row=$result->fetch_assoc()){
?>
<input type="checkbox" name="murid[]" value="<?php echo $row['id_siswa']; ? >"><?php echo $row["nama_siswa"]; ?><br><br>
<?php } ?>
并将checked复选框的值保存到数据库中,这是我尝试过的:
if(isset($_POST["submit"]))
{
if(!empty ($_POST['murid']))
{
$i= 0;
foreach($_POST as $murid){
$kelas = $_POST['kelas'];
$murid = $_POST['murid'][$i];
$query = "INSERT INTO murid (id_kelas, id_siswa) VALUES ('$kelas', '$murid')";
$q = mysqli_query($koneksi, $query) or die (mysqli_error($koneksi));
$i++;
}
}
else
{
echo "<script type= 'text/javascript'>alert('Pilih minimal 1 siswa');</script>";
header('Location: ./kelas.php');
}
}
当我提交它时,它输入到数据库但是有一个额外的行,id_siswa值为0
答案 0 :(得分:0)
代码为$_POST
中的每个值插入一条记录。但是,$_POST
包含发送的所有参数(包括submit
),而不仅仅是要插入的复选框数组。迭代复选框数组$_POST['murid']
。
更改
foreach($_POST as $murid) ...
要
foreach($_POST['murid'] as $murid) ...