2016-04-19 11 views
1

私は複数のHTMLチェックボックスを使用して学生出席を提出しています。 submit '1'をクリックするとチェックボックスがオンになり、チェックされていなければ '0'が送信されます。私は '1'を提出することができますが、 '0'を提出することはできません。以下は私のコードです:PHP HTML Mysqlで複数のチェックボックスを使用してIDを送信

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

これはあなたにいくつかのアイデアを与えるかもしれない:

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

私は質問が正しく理解されていないと思います。あなたが与えたコードは、変更なしで同じことをやっています。私は、チェックボックスがチェックされていないときに値 "0"を送信したい。 – Ash

関連する問題