• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:チェックボックスを使っての検索で)

チェックボックスを使っての検索でPHP5とMySQL4.0.24を使用する方法

このQ&Aのポイント
  • チェックボックスを使用してOR検索を行いたい場合、検索側のHTMLで選択された値を取得し、PHPで処理する必要があります。
  • HTMLのチェックボックスにはname属性とvalue属性を設定し、PHPでは$_POST変数を使用して選択された値を取得します。
  • 取得した値をSQLクエリのWHERE句に組み込み、%演算子を使用して部分一致検索を行うことで、チェックボックスでOR検索を実現することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

foreach ($chk as $data) { ここが foreach ($_POST['chk'] as $data) { こうですね。 すいません。

slim_555
質問者

お礼

おそくなりましたが、取り出したい結果が得られました ありがとうございました。

その他の回答 (1)

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

こんな感じではどうでしょうか? $or = 0; $ken = " ("; foreach ($chk as $data) { if ($or) { $ken .= " or arraival like '%{$data}%'"; } else { $ken .= " arraival like '%{$data}%'"; $or++; } } $ken .= ")"; $sql = "select * from shop_data where $ken";

slim_555
質問者

補足

ありがとうございました。 ですが$kenの中には何も入っていないようです。 処理側のPHPに $or = 0; $ken = " ("; foreach ($chk as $data) { if ($or) { $ken .= " or arraival like '%{$data}%'"; } else { $ken .= " arraival like '%{$data}%'"; $or++; } } $ken .= ")"; print ("$ken"); としてみたのですが ()が出力されるだけでした。 それと $sql = "select * from shop_data where arraival like '%$arraival%'"; は $sql = "select * from shop_data where text like '%$arraival%'"; でした、すみませんです。