• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpで複数の検索語を検索対象にしたい)

phpで複数の検索語を検索対象にしたい

このQ&Aのポイント
  • 半角や全角スペースの入った複数の検索語を検索対象にしたいです。
  • 現在のコードは検索フォームに入力されたキーワードを検索し、その結果の件数を表示しています。
  • 単語1つの場合では正しく動作しますが、複数のキーワードを含む場合は検索結果がゼロになってしまいます。希望は、複数のキーワードを含む検索を行いたいと考えています。

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

  • ベストアンサー
回答No.1
anan19
質問者

お礼

参考サイトありがとうございました。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

こんな感じですね <?PHP if(isset($_GET["key"]) and $_GET["key"]!==""){ $sql="select count(*) as count from item where 0"; $pattern="/[  ]+/"; $keywords = preg_split($pattern,$_GET["key"]); foreach($keywords as $val){ $val=mysql_real_escape_string($val); $sql.=" or title like '%".$val."%'"; $sql.=" or Description like '%".$val."%'"; $sql.=" or category like '%".$val."%'"; } $res=mysql_query($sql); $data = mysql_fetch_array($res,MYSQL_ASSOC); echo "検索結果は ".$data["count"]."件です。<br>"; } ?> <form> <input type="text" name="key"> <input type="submit" value="search!"> </form>

anan19
質問者

お礼

記述いただき助かります! 実際のphpで試してみます。ご回答ありがとうございます。

  • singlecat
  • ベストアンサー率33% (139/418)
回答No.2

簡単に解説 半角又は全角空白毎に キーワードを配列に格納 半角又は全角空白が連続している場合を考慮しておく 配列に入れたキーワード分 Where文としてor連結する ※複数項目ある場合は、  項目を連結したものにlike文を  入れるか、書かれてるように  項目数分like文をorで連結

anan19
質問者

お礼

処理の考え方を教えていただきありがとうございます。 他の方が教えて頂いたサイトやサンプルにて考慮して作ってみます。

関連するQ&A