チェックボックスにチェックされた数によって、動的にデータベースに反映させたいのですが、行き詰まっています。。現状、以下のコードです。$checkboxにはチェックボックス(配列が入っています)
$sql='INSERT INTO table(sample,sample,sample,sample,sample) VALUES(?,?,?,?,?)';
↑ここの「?」を動的に?いや、そしたらsample,sample,sample,sample,sampleも動的にしないといけないしな、、、という訳でNullの状態でも$sample[]=$valueに入れたら、うまくいくんじゃないかという考えに終着しました。(この考えがあっているかも不明です)
どうするのが最も正解なのでしょう。。
PHP
1<?php 2$checkbox=$_POST['checkbox'];//値を取得($checkboxは配列) 3 4 try{ 5 require_once('../../conf/db_con.php'); 6 //データ反映 7 $sql='INSERT INTO table(sample,sample,sample,sample,sample) VALUES(?,?,?,?,?)'; 8 $stmt=$dbh->prepare($sql); 9 foreach($checkbox as $value){ 10 echo $sample[]=$value; 11 } 12 $stmt->execute($sample); 13 $dbh=null; 14 }catch(Exception $e){ 15 print 'ただいま障害により大変ご迷惑をお掛けしております。'; 16 exit(); 17 } 18?>
【追加・修正依頼】
チェックボックスが複数あり、チェックされたもの(当然、複数の可能性あり)の値をデータベースに登録したい、ということですね?
↑はい、その通りです。
チェックボックスの数が一定か、不定か
↑チェックボックスの数は一定です。(10個のチェックボックスがあります、今後増えるかもしれませんが今のところ10個です)
最終的にどのような機能(WEBページ?)を作成したいのか
↑最終的にはジャンルで絞り込めるようにしたいです。(【不動産の場合】バス・トイレ別、南向き等【飲食店の場合】喫煙可、貸し切り有など) よろしくお願いいたします。
【テーブル構造】※サンプルで動かしているので簡易的です。すいません。
・id
・user_code
・checkbox_data1
・checkbox_data2
・checkbox_data3
・checkbox_data4
・checkbox_data5
・checkbox_data6
・checkbox_data7
・checkbox_data8
・checkbox_data9
・checkbox_data10
といった構造になっています。
回答2件
あなたの回答
tips
プレビュー