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 回答