场景:我正在为一所大学制作出勤系统,但是我一直在更新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表单的信息,请看一下。