我正在为通过复选框选择的特定条目更新一些MySQL数据,我的代码如下所示:
<?php
if($_POST['code_approve']){
for($i=0;$i<count($_POST['checkbox']);$i++){
$approval_id = $checkbox[$i];
$sql = "UPDATE table SET status='approved', used='processed' WHERE id='$approval_id'";
$result = mysql_query($sql);
}
if($result){
echo "<meta http-equiv=\"refresh\" content=\"0;URL=table.php\">";
}
}
?>
现在我想知道已经选择了多少个复选框,并且对于选中的每个复选框,将25添加到表“成员”行“余额”。
我试过这样:
<?php
if($_POST['code_approve']){
for($i=0;$i<count($_POST['checkbox']);$i++){
$approval_id = $checkbox[$i];
$approvedamount = count($_POST['checkbox'])
$approvedx25 = $approvedamount * 25;
$sql = "UPDATE table SET status='approved', used='processed' WHERE id='$approval_id'";
$sql2 = "UPDATE members SET balance = + '$approvedx25'";
$result = mysql_query($sql);
}
if($result){
echo "<meta http-equiv=\"refresh\" content=\"0;URL=table.php\">";
}
}
?>
但这根本不起作用,这样做的正确方法是什么?
//编辑
请忽略这个问题,它有效,我只是忘了添加mysql_query。
答案 0 :(得分:0)
您的更新查询应该是这样的:
$sql2 = "UPDATE members SET balance = balance + ".$approvedx25;
您编写它的方式,使用for
子句进行更新,因此每个复选框都执行一次。我不确定你想要那个,因为你已经乘以了复选框的数量。
另外,请注意,您的第二个查询($sql2
)未在您的代码中执行。