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