实际上,我想同时使用php提交选中和未选中复选框的值。谁能帮我吗?
这是我现在正在使用的代码,例如,这样您可以更接近我的问题。
在第一个for循环的php代码中,我提交检查的值,然后在此之后,我从数据库中获取不在检查数组中的所有值,然后在第二个插入查询中再次将这些值插入数据库中
有没有什么解决方案可以代替一个查询使用两个插入查询来做相同的事情?
<!DOCTYPE html>
<html>
<body>
<?php
if (isset($_POST['submit'])) {
for ($i=0; $i < count($_REQUEST['marked']) ; $i++) {
$rollno=$_REQUEST['marked'][$i];
$check=1;
$result=$dbh->prepare("INSERT INTO attendencerecord (subjectcode, coursename, rollno,markedon, present,session,semester) VALUES('$subjectcode','$coursename','$rollno','$date','$check','$session','$semester')");
if($result->execute()){
echo 'success';
}
else{
echo 'fail';
}
}
$absents=array();
$absents=$_REQUEST['marked'];
$query="SELECT rollno FROM studentslist WHERE session = '$session' AND rollno NOT IN(".implode(',',array_map('intval',$absents)).")";
$result=mysqli_query($connection,$query);
while($ro=mysqli_fetch_array($result)){
$ro['rollno'];
$check=0;
$result1=$dbh->prepare("INSERT INTO attendencerecord (subjectcode, coursename, rollno,markedon, present,session,semester) VALUES('$subjectcode','$coursename','$ro[rollno]','$date','$check','$session','$semester')");
if($result->execute()){
echo 'success';
}
else{
echo 'fail';
}
}
}
?>
<form method="post">
<input type="checkbox" name="marked[]" id="c1" value="2901" checked />
<label for="c1">2901</label>
<input type="checkbox" name="marked[]" id="c2" value="2902" checked />
<label for="c2">2902</label>
<input type="checkbox" name="marked[]" id="c3" value="2903" checked />
<label for="c3">2903</label>
<input type="checkbox" name="marked[]" id="c4" value="2904" checked />
<label for="c4">2904</label>
<input type="checkbox" name="marked[]" id="c5" value="2905" checked />
<label for="c5">2905</label>
<button type="submit" name="submit">submit</button>
</form>