投票システムでチェックボックスから選択されたキーをまとめてUPDATEするには、
どの様なUPDATE文にすれば良いのでしょうか?
--------------------------------------------------------------
for ($i = 0; $i < count(@$_POST["answer"]); $i++) {
echo $_POST["answer"][$i]."が選択されました"; // ← 一応PHP上で正常に値が返るかを確認しました。
$data = $_POST["answer"][$i]; // ←変数に置き換えました。
$conn = db_conn();
$sql = "UPDATE an SET ";
$sql .= " sel" . $data . "cnt = sel" . $data . "cnt + 1";
$sql .= " WHERE id = '" . cnv_sqlstr($id) . "'" ;
}
--------------------------------------------------------------
という様に書くと、最後にチェックしたキーのみがUPDATEされ、
その他のキーは無視されてしまいます。
echo文でPHP上で正常に走っているかどうかを確認したところ
問題はありませんでしたが、UPDATE文でデータベースに投げると
上手くいきません。
どうかご教示の程よろしくお願い申し上げます。
No.1ベストアンサー
- 回答日時:
仕様がいまいちわからないのですが
forループの中で「$conn = db_conn()」する意味はあるのでしょうか?
また、作成された$sqlがループ内で発行されていなようですが
ループ後に発行しているならおそらく最終データしか更新されませんね
提示しているソースより下の箇所でクエリを発行していて、
確かにfor文の中にありませんでした。
for文の終了の中カッコの位置を変更して正常に走りました。
単純ミスには今後も気をつけます。
本当にありがとうございます。
No.2
- 回答日時:
No.1の方もおっしゃるとおり、ループ内にExecuteSQL()のようなSQLを発行する関数がないですね。
おそらく、ループの外にあるのでしょうが、
> $sql = "UPDATE an SET ";
この時点で前回代入されたSQL文は上書きされてしまっているので
当然の結果かと思います。
提示しているソースより下の箇所でクエリを発行していて、
確かにfor文の中にありませんでした。
for文の終了の中カッコの位置を変更して正常に走りました。
単純ミスには今後も気をつけます。
本当にありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL UPDATE my_items SET item_name '赤い,甘い,ケーキ' WHERE id 1 2023/01/03 09:52
- Windows 10 BitLocker 回復キーの入力 1 2022/10/09 15:23
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- MySQL 下の画像はSQLの4大命令の性質をまとめたものであるらしいです UPDATE INSERT DELE 1 2023/06/07 15:36
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- PostgreSQL SQLでUPSERTを一度に複数行やる方法 3 2022/03/25 15:17
- Ruby No route matches [GET] "/posts/5/destroy" 1 2022/03/24 13:00
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースに存在するデータ...
-
<VB.NET>INSERT文でDBにデータ...
-
JAVA SQLServerException 列名 ...
-
insert1つの処理でもトランザ...
-
php postgres Insert と updat...
-
phpでforeach ($stmt as $row)...
-
cron
-
ResultSetインターフェイスでの...
-
php複数キーワード検索
-
VBA ACCESS SQL...
-
実行時エラー3131 FROM 句の構...
-
MySQLでデータベースにデータin...
-
phpのPEARのMDB2を使って出たエ...
-
php テーブルが作成できない
-
在庫数の取得
-
mysql_fetch_objectのエラー
-
テキストボックスに入れた内容...
-
エラー3011
-
php sqlite count 列数取得
-
テーブルに入っているデータと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JAVA SQLServerException 列名 ...
-
<VB.NET>INSERT文でDBにデータ...
-
Pro*Cの構文エラー
-
Q&Aサイトを作成していてURLの...
-
ResultSetインターフェイスでの...
-
VBA ACCESS SQL...
-
データベースに存在するデータ...
-
VB.NET エラーになる箇...
-
insert1つの処理でもトランザ...
-
MySQLのINSERT時にたまに重複に...
-
INSERT,DELETEを同時に
-
like検索の複数キーワードで、...
-
PHP&MySQLでの文字列+数列の一...
-
mysqliを使ってデータベースを...
-
PHP初心者です。syntax error, ...
-
PHP+SQLite でSELECT文のWHERE...
-
php MySQL で、更新ボタンを押...
-
SQLインジェクション対策
-
phpでforeach ($stmt as $row)...
-
OR検索を実装したい
おすすめ情報