如何单击表中的单选按钮来处理多个记录?

时间:2014-04-08 12:25:16

标签: php html mysql sql

我正在创建一个课堂考勤模块表,其中教师点击学生姓名前面的单选按钮,以标记他/她是否在场,缺席或休假,当我们提交行时保存在MySQL数据库中。

这就是它的样子:

enter image description here

问题: 当教师点击单选按钮时,第一个学生出勤被标记,当教师点击第二个学生的出勤时,它也被标记,但第一个学生的标记出勤没有标记。 错误是教师一次只能标记一名学生出勤,但我想在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>

2 个答案:

答案 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'