0
我更新通過複選框選擇特定條目一些MySQL的數據,我的代碼如下所示:伯爵號的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。
我認爲你應該刪除在where子句中的引號,並使其像這樣,對於開始:WHERE id = $ approval_id ..此複選框數組來自何處?!?$ checkbox [$ i] ..我認爲你的代碼太多缺失 – 2011-12-21 16:37:59
你不應該在循環中運行SQL查詢,它不是非常有效。在循環中收集ID,然後使用IN編寫一個UPDATE查詢。 – kapa 2011-12-21 16:43:08
查看'複選框組'部分:http://www.html-form-guide.com/php-form/php-form-checkbox.html – Minras 2011-12-21 16:45:07