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\">";
}
}
?>
しかし、それはまったく動作しませんでした、これを実行するための適切な方法は何ですか?
// EDIT
この質問を無視してください、それが働いていた、私はちょうどするmysql_queryを追加するのを忘れ。あなたはそれを書いた
$sql2 = "UPDATE members SET balance = balance + ".$approvedx25;
方法、for
句をwithingで更新、このようにして、すべてのチェックボックスのために一度実行:
私はwhere節で引用符を取り除いて、そのようにしてください:WHERE id = $ approval_id ..そのチェックボックス配列はどこから来たのですか?!?$ checkbox [$ i] ..あまりにも多くのコードがないと思う –
ループ内でSQLクエリを実行しないでください。効率的ではありません。ループ内でIDを収集し、INを使用してUPDATEクエリを1つ作成します。 – kapa
「チェックボックスグループ」のセクションをご覧ください:http://www.html-form-guide.com/php-form/php-form-checkbox.html – Minras