我正在测试一个出勤网站,记录不同日期的出勤情况(手动更改我的设备上的日期),我的状态栏 1 表示出席,0 表示缺席。当我记录一些缺席的出勤时,该日期的状态列会正确反映,但是当我记录所有人都在场的出勤时,所有日期的状态列值(包括带有“0”的日期)都会更改为‘1’。以下是保存代码
if(isset($_POST['save'])){
$studentNo=$_POST['studentNo'];
$check=$_POST['check'];
$N = count($studentNo);
$status = "";
$qurty=mysqli_query($conn,"select * from tblattendance where subject = '$id' and date = '$dateTaken' and status = '1'");
$count = mysqli_num_rows($qurty);
if($count > 0){
$statusMsg = "<div class='alert alert-danger' style='margin-right:700px;'>Attendance has been taken for today!<button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>×</span></button></div>";
}else
{
for($i = 0; $i < $N; $i++)
{
$studentNo[$i];
if(isset($check[$i]))
{
$qquery=mysqli_query($conn,"update tblattendance set status='1' where studentNo= '$check[$i]'");
if ($qquery) {
$statusMsg = "<div class='alert alert-success' style='margin-right:700px;'>Attendance Taken Successfully!<button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>×</span></button></div>";
}
else
{
$statusMsg = "<div class='alert alert-danger' style='margin-right:700px;'>An error Occurred!</div>";
}
}
}
}
}
$query = "SELECT tblsection.section,tblassignteach.secId,tblclass.className,tblsubject.subject,tblstudents.secId,tblstudents.studentNum,tblstudents.firstName,tblstudents.lastName,tblstudents.mname,tblstudents.sex,tblstudents.classId FROM tblstudents
INNER JOIN tblassignteach ON tblassignteach.secId = tblstudents.secId
INNER JOIN tblsection ON tblsection.Id = tblstudents.secId
INNER JOIN tblclass ON tblclass.Id = tblstudents.classId
INNER JOIN tblclassarms ON tblclassarms.Id = tblassignteach.classArmId
WHERE tblassignteach.subject='$id'";
$rs = mysqli_query($conn, $query);
$num = $rs->num_rows;
$sn=0;
$status="";
if($num > 0)
{
while ($rows = $rs->fetch_assoc())
{
$sn = $sn + 1;
echo"
<tr>
<td><input name='check[]' type='checkbox' value=".$rows['admissionNumber']." class='form-control'></td>
<td>".$sn."</td>
<td>".$rows['admissionNumber']."</td>
<td>".$rows['lastName']."</td>
<td>".$rows['firstName']."</td>
<td>".$rows['mname']."</td>
<td>".$rows['sex']."</td>
<td>".$rows['className']."</td>
<td>".$rows['section']."</td>
<td>".$rows['subject']."</td>
</tr>";
echo "<input name='studentNo[]' value=".$rows['studentNum']." type='hidden' class='form-control'>";
}
}
$qurty=mysqli_query($conn,"SELECT * from tblattendance where subject= '$id' and dateTimeTaken = '$dateTaken'");
$count=mysqli_num_rows($qurty);
if($count == 0){
$qus=mysqli_query($conn,"SELECT tblstudents.studentNum,tblassignteach.subject from tblstudents
inner join tblassignteach on tblassignteach.secId = tblstudents.secId
where tblassignteach.subject= '$id'");
while ($ros = $qus->fetch_assoc())
{
$qquery=mysqli_query($conn,"INSERT into tblattendance(studentNo,subject,sessionTermId,status,dateTimeTaken,timeTaken)
VALUES('$ros[studentNum]','$id','$sessionTermId','0', '$dateTaken', '$ttimeTaken')");
}
我想知道为什么数据库中所有记录日期的所有值都更改为“1”,以及是否有办法解决此问题。如果您需要任何其他信息,请随时告诉我,我非常感谢我能得到的所有帮助。预先感谢您!
我注意到的第一件事是 php 变量旁边缺少点,我没有检查代码。