【问题标题】:submit ID using multiple checkboxes in PHP HTML Mysql在 PHP HTML Mysql 中使用多个复选框提交 ID
【发布时间】:2016-04-19 11:26:57
【问题描述】:

我正在使用多个 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>

【问题讨论】:

    标签: php html forms checkbox


    【解决方案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

    【讨论】:

    • 我认为这个问题没有被正确理解。您提供的代码在没有任何更改的情况下执行相同的操作。我希望在未选中复选框时发送值“0”。
    猜你喜欢
    • 1970-01-01
    • 2013-06-06
    • 2013-09-19
    • 2015-04-17
    • 2020-05-25
    • 2019-02-02
    • 1970-01-01
    • 2015-05-29
    • 2012-08-02
    相关资源
    最近更新 更多