• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:チェックボックスの値に応じてPHP内でSQLを発行する方法)

チェックボックスの値に応じてPHP内でSQLを発行する方法

このQ&Aのポイント
  • HTML検索フォームに複数のチェックボックスを設け、チェックが入った項目をORで結んだものと他の検索キーをANDで結ぶSQL文を発行する方法について教えてください。
  • 選択されたチェックボックスの値を使用し、MySQL内のレコードを条件に合致するか評価する方法について教えてください。
  • 果物・野菜・肉類というカテゴリのチェックボックスを考え、選択されたカテゴリに合致するレコードを抽出するためのロジックをPHPコードに組み込む方法について教えてください。

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

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

果物や肉類を種別テーブルとして別に作った方がいいような気がするのは置いといて。 例です。 <input type="checkbox" name="food[]" value="果物"> <input type="checkbox" name="food[]" value="野菜"> <input type="checkbox" name="food[]" value="肉類"> として、 $sql .= "(SUBSTRING(MYTABLE.MYFOOD,1,4) = '"; $sql .= implode ("' OR SUBSTRING(MYTABLE.MYFOOD,1,4) = '",$_POST['food']); $sql .= ")"; と、こんな感じなのかなと思う次第ですがいかがでしょう。

参考URL:
http://php.s3.to/man/function.implode.html
litton101
質問者

お礼

moon_nightさん、貴重レスありがとうございました。 >果物や肉類を種別テーブルとして別に作った方がいいような気がするのは置いといて。 わたしもDBをそのように設計すべきだと思いますが、 外注で作ったプログラムの改造で、もう後戻りできなくなっているのです。。。 ご提示いただいたサンプルで、要望はかないました。 implode というの、なかなか汎用性が高いですね。ありがとうございました。

関連するQ&A

専門家に質問してみよう