我正在创建一个课堂考勤模块表,其中教师点击学生姓名前面的单选按钮,以标记他/她是否在场,缺席或休假,当我们提交行时保存在MySQL数据库中。
这就是它的样子:
问题: 当教师点击单选按钮时,第一个学生出勤被标记,当教师点击第二个学生的出勤时,它也被标记,但第一个学生的标记出勤没有标记。 错误是教师一次只能标记一名学生出勤,但我想在MySQL表中添加多名学生出勤 .....
这是我的代码 代码:
<input type="hidden" name="class_id" value="<?php echo $row1['fk_class_id']; ?>" />
<input type="hidden" name="student_id" value="<?php echo $row1['student_id']; ?>" />
<tr>
<td>
<?php echo $row1['first_name'];?>
</td>
<td>
<?php echo $row1['last_name']; ?>
</td>
<td>
<?php echo $row1['gender']; ?>"
</td>
<td>
<input type="radio" name="att" value="P" />P
<input type="radio" name="att" value="A" />A
<input type="radio" name="att" value="L" />L
</td>
</tr>
答案 0 :(得分:3)
每一行都需要被视为独立的值,因此您必须让表单以这种方式行事。
<!-- row 1 -->
<input type="radio" name="row1" value="P" />P
<input type="radio" name="row1" value="A" />A
<input type="radio" name="row1" value="L" />L
<!-- row 2 -->
<input type="radio" name="row2" value="P" />P
<input type="radio" name="row2" value="A" />A
<input type="radio" name="row2" value="L" />L
单选按钮彼此之间的行为方式是name
属性。
根据每行重命名每组att
按钮。
答案 1 :(得分:1)
您可以使用student_id将数组作为名称:
<input type="radio" name="att[<?php echo $row1['student_id']; ?>]" value="P" />P
<input type="radio" name="att[<?php echo $row1['student_id']; ?>]" value="A" />A
<input type="radio" name="att[<?php echo $row1['student_id']; ?>]" value="L" />L
变量$_POST['att']
将是一个以student_ids为键的数组。
'att' =>
array
'student_1' => string 'P'
'student_2' => string 'A'
'student_3' => string 'L'