2016-04-19 41 views
1

我正在使用多個HTML複選框提交學生出席。複選框一旦點擊提交'1',如果不選中,將提交'0'。我可以在選中時提交'1',但不能提交'0'。下面是我的代碼:在PHP HTML中使用多個複選框提交ID Mysql

<?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

這可能給你一些想法:由於您使用的是type="submit"按鈕,我想你

<?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; 
?> 

有這樣一個形式裏面構建?

回想一下複選框如何在HTML表單中工作:如果該框被選中,那麼PHP端收到的值將是value="yes"的值。換句話說,變量$_POST['status'][n]將具有值yes

但是,如果未設置複選框,則不會設置$_POST['status'][n]

參考:

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

+0

我認爲這個問題沒有正確的理解。你給出的代碼是做同樣的事情沒有任何改變。當複選框未被選中時,我想要發送值「0」。 – Ash