场景:我正在为一所大学制作出勤系统,但是我一直在更新mysql并使用复选框标记学生缺席或在场的问题。

因此,目前我已经设法过滤了我想要显示的数据。这是student_id,fname,lname存在。请看下面的代码

<strong>Class Register:</strong> </br>

<?php

$test3= "SELECT * FROM course_attendance, students, courses, attendance WHERE course_attendance.course_id=courses.course_id AND course_attendance.week_id=attendance.week_number_id AND course_attendance.student_id= students.student_id AND courses.course_id='101' AND attendance.week_number_id='2' ";
$result = mysql_query($test3)  or die(mysql_error());


echo "</br><table border='1' align='center'><tr> <th><strong>Student ID</strong></th> <th><strong>First Name </strong></th> <th><strong>Last Name</strong></th> <th><strong>Present</strong></th> </tr> ";

while($rows=mysql_fetch_array($result)){

    echo "<tr><td width='100' align='center'>" .$rows['student_id'].
"</td><td width='120' align='center'>" .$rows['fname'].
"</td><td width='120' align='center'>" .$rows['lname'].
"</td><td width='120' align='center'>" .$rows['present'].
"</td><tr width='120' align='center'>";
}
echo "</table>";
?>


因此,当前显示的数据为:student_id,fname,lname,present。

我的MySQL中的“ Present”字段是一个未签名的tinyint,我希望能够将其设为一个复选框,这将使用户可以标记一个学生在场或不在,然后更新到mysql。我也不希望启用学生ID,fname和lname进行编辑,仅是当前字段。这可能吗?

在此先感谢如果有人成功地帮助了我,我将永远感激不已!

最佳答案

您可以在表单中有一个复选框:

<input type='checkbox' class='form' value='Yes' name='checkbox_attendance'/> Present?

然后,您检查该字段的值并将其存储在数据库中:

if(isset($_POST['checkbox_attendance']) && $_POST['checkbox_attendance'] == 'Yes') {
    //Store the value of checkbox_attendance (Yes) into the database
} else {
    //Store 'No' into the database
}


除非您设置为“ student_id”,“ fname”和“ lname”,否则将不可编辑。
互联网上有很多有关PHP表单的信息,请看一下。

09-28 04:56