没有错误,数据库中没有任何变化

时间:2013-02-07 11:16:28

标签: php

我需要将选中复选框的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);
 } 
} 

2 个答案:

答案 0 :(得分:0)

应该是:

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

答案 1 :(得分:0)

您的复选框缺少值。它总是空的。

<input name="ONOFF[<?php echo $row['classid']; ?>]" type="checkbox" value="1" />