将已选中复选框的值保存在数组中

时间:2012-04-01 07:21:19

标签: php checkbox checkboxlist

我有一个学生姓名列表,在同一个表中每个学生姓名都有一个复选框,用户必须选中复选框才能在课程中添加这些学生,所以我想保存已经检查过复选框的学生ID,但似乎我在阵列中什么都没有! 这是代码

echo "<form action='S7.php' method='post'> <table width='40%' border='1' cellpadding='5'>
 <tr>
     <td>Check to add to course</td>
     <td>Student ID</td>
     <td>Student Name</td>
</tr> ";

 while ($row = mysql_fetch_assoc($query)){
 echo '
   <tr>
      <td> <input type="checkbox" name="foo['.$row['St_ID'].']" value=""> </td>
      <td>'.$row['St_ID'].'</td>
      <td>' .$row[First].' ' .$row[Last].'</td>
   </tr>';
  };

    echo "</table>";

   echo ' <input type="submit" name="submit" value="Add To Course" /> </form> ';

2 个答案:

答案 0 :(得分:1)

输入必须如下: 所有复选框必须具有相同的名称,值不同。

<input type="checkbox" name="foo[]" value="'.$row['St_ID'].'" />

答案 1 :(得分:0)

试试这个:

//Each checkbox shown next to student name has to have a value
//and in order to get the array of checked checkboxes for seleted students, 
//put `[]` next to the checkbox name.
<tr>
      <td> <input type="checkbox" name="foo[]" value="{$row['St_ID']}"> </td>
      <td>'.$row['St_ID'].'</td>
      <td>' .$row[First].' ' .$row[Last].'</td>
</tr>';