0

チェックされたチェックボックスのclassidをPAIDに設定し、チェックされていないチェックボックスをUNPAIDに設定する必要があります。データベースの変更を妨げている問題は何ですか? HTMLページでいくつかのチェックボックスをチェックしています。[保存] を押すとページがリセットされ、データベース (PhpMyAdmin) を確認しても変更はありません。

これが私のコードです:

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  ?> <input type="hidden" name="id1[]" value="<?php echo $row['classid']; ?>" /><?php
 echo "<td>"  . $row['class_date'] .  "</td>";
    echo "<td>"  . $row['class_time'] .  "</td>";
   echo "<td>"  . $row['sal_teach'] .  "</td>";
   echo "<td align=center>"  . $row['status_teach'] .  "</td>"; ?>
   <!--echo "<td><a href='getpaid2.php?id={$row['classid']}'>Get Paid</a></td>";-->
  <td align="center"><input name="ONOFF[<?php echo $row['classid']; ?>]" type="checkbox" /></td>
<?php
  echo "</tr>";
  }
echo "<tr><td colspan=5><input type='submit' name='submit1' value='Save'/></td></tr>";
  echo "</table></div>";

    if(isset($_POST['submit1'])){

  foreach($_POST['id1'] as $id1)
 { 
  $status1 = 'UNPAID';
    if (isset($_POST['ONOFF'][$id1]))
    {
        $status1 = 'PAID';
    }

  $sql1="UPDATE class SET status_teach='$status1' WHERE classid=$id1";  

$myconn=mysql_connect('localhost','root','') or die("Couldn't Connect to the Server");
mysql_select_db('bddschool', $myconn) or die ("message");
  mysql_query($sql1,$mycon);
 } 
} 
4

2 に答える 2

0

あるべき:

if (isset($_POST['ONOFF'][$id1])) {
    $status1 = 'PAID';
} else {
    $status1 = 'UNPAID';
}
于 2013-02-07T11:20:15.987 に答える
0

チェックボックスに値がありません。常に空です。

<input name="ONOFF[<?php echo $row['classid']; ?>]" type="checkbox" value="1" />
于 2013-02-07T11:21:20.463 に答える