如果使用 PHP 选择了单选按钮(当前),如何在 Mysql 数据库中为出勤值添加 +1?
Posted
技术标签:
【中文标题】如果使用 PHP 选择了单选按钮(当前),如何在 Mysql 数据库中为出勤值添加 +1?【英文标题】:How to Add +1 to attendance value in the Mysql database if Radio button(present) is selected with PHP? 【发布时间】:2013-11-14 12:52:08 【问题描述】:对不起,我想在我的大学使用 php 和 mysql 为数据库制作出勤表。
数据库表:
student_id student_name Class Attendance
001 Adam 1-B3 0
002 Martin 1-B3 0
003 Nina 4-C1 0
出席表格 (attend.php) 将显示:
ID Name Attendance
001 Adam (radio) Present (radio) Not Present
002 Martin (radio) Present (radio) Not Present
003 Nina (radio) Present (radio) Not Present
假设有 1000 名学生,我使用 SQL 查询来显示表中的每个人,并根据需要的班级在每行中显示 2 个单选按钮。 示例:
<form method="POST" action="attend_process.php")
$cn=mysql_connect("host","localhost","") or die(mysql_error());
mysql_select_db(db_attendance,$cn) or die(mysql_error());
$sql = "SELECT student_id, student_name FROM tb_attendance WHERE Class='1-B3'";
$result = mysql_query($sql) or die(mysql_error());
echo "<table>";
echo "<tr><th>ID</th><th>Name</th><th>Attendance</th></tr>";
while($info=mysql_fetch_array($result))
$id = $info['student_id'];
$name = $info['student_name'];
echo "<tr><td>".$id."</td><td>".$name."</td><td><input type='radio' name='attend[$id]' value='Present'>Present <input type='radio' name='attend[$id]' value='Not_Present'>Not Present</td></tr>";
echo "</table><br/>
echo "<input type='submit' name='btnAbsent' value='Absent'>";
</form>
点击attend.php上的提交按钮后我应该制作的表格 它会将数据POST到attend_process.php。
在attend_process.php 中, ???如何在数据库中添加出勤值??? ???如何使用 $_POST['attend$id'] 制作变量以获取值'Present'???
它也基于他们的班级, 1.如果有学生不在场,则出勤率不会增加。 2.如果学生在场,出勤值将增加1(+1)
我真的很抱歉,但我真的很困惑如何获取数据,然后根据他们的 ID 正确地将值添加到出勤值,因为每行中的单选按钮都有由他们的 ID 组成的不同名称'。先感谢您。我真的很感激你的好意:)
【问题讨论】:
【参考方案1】:表单提交后,您将在attend_process.php
PHP
超级全局$_POST
中收到表单内容。
特别是,您可以访问$_POST['attend']
,它是一个数组,其键是学生ID,值是Present
或Not_Present
。
您可以遍历此数组的所有值(假设您完全信任此表单的提交者!)并更新表中的“计数器”:
for($id => $attendance in $_POST['attend'])
if($attendance == 'Present')
mysql_query("UPDATE attendance SET Attendance = Attendance + 1 WHERE id = '$id'");
这是非常低效的,因为它会为每个在校学生使用 1 个查询。
【讨论】:
您能解释一下实现相同目标的更有效方法吗?以上是关于如果使用 PHP 选择了单选按钮(当前),如何在 Mysql 数据库中为出勤值添加 +1?的主要内容,如果未能解决你的问题,请参考以下文章