使用PHP HTML Mysql中的多个复选框提交ID

时间:2016-04-19 03:00:18

标签: php html forms checkbox

我正在使用多个HTML复选框来提交学生出勤率。点击后,该复选框会提交' 1'如果没有选中,将提交' 0'。我可以提交' 1'如果选中但无法提交' 0'。以下是我的代码:

<?php
    $subcheck = (isset($_POST['subcheck'])) ? 1 : 0;
    $date = date("Y/m/d");
    foreach ( $student as $attendance ) {
              echo "<tr>";
              echo "<td>$attendance->id</td>";
                echo "<td>$attendance->name</td>";
                echo "<td>
                        $attendance->classroom_id
                      </td>";?>
                    <input type="hidden" name="date[]" value="<?php echo $date;?>" />

            <td><input type="checkbox" name="status[]" value="<?php echo $attendance->id;?>"></td> 
            <td><input type="text" name="reason[]" ></td>

      <?php
            }
            ?>
<tr>  
      <td colspan="2" align="center"><input type="submit" value="Save" name="submit"></td>

1 个答案:

答案 0 :(得分:1)

这可能会给你一些想法:

<?php
    $subcheck = (isset($_POST['subcheck'])) ? 1 : 0;
    $date = date("Y/m/d");

    $out = '<table id="tblAttendance"><thead><th>ID</th><th>Name</th><th>Room</th><th>Status</th><th>Reason</th></thead><tbody>';
    foreach ( $student as $attendance ) {
        $out .= '<tr>';
        $out .=     '<td>' .$attendance->id. '<input type="hidden" name="studentID[]" value="' .$attendance->id. '"></td>';
        $out .=     '<td>' .$attendance->name. '<input type="hidden" name="name[]" value="' .$attendance->name. '"></td>';
        $out .=     '<td>' .$attendance->classroom_id. '<input type="hidden" name="classroomID[]" value="' .$attendance->classroom_id. '"></td>';
        $out .=     '<td><input type="checkbox" name="status[]" value="yes"></td>';
        $out .=     '<td><input type="text" name="reason[]" ></td>';
        $out .= '</tr>';
    }
    $out .= '<tr><td colspan="2" align="center"><input type="submit" value="Save" name="submit"></td></tr>';
    $out .= '</tbody></table>';
    $out .= '<input type="hidden" name="date" value="' .$date. '" />';
    echo $out;
?>

由于您使用的是type="submit"按钮,我认为您在表单构造中有这个吗?

回想一下复选框在HTML表单中的工作方式:如果选中该复选框,则PHP端收到的值将为value="yes"值。换句话说,变量$_POST['status'][n]的值为yes

但是,如果未设置复选框,则不会设置$_POST['status'][n]

参考:

http://www.html-form-guide.com/php-form/php-form-checkbox.html