- ベストアンサー
PHPからMySQLで一文字でも一致したら表示したい
PHPからMySQLで一文字でも一致したら表示したいのですが その場合のSQL文はどうすればいいのでしょうか? 日本語で漢字一文字だと都合が悪いそうですが? 前方一致(keyword%)中央一致(%keyword%)や後方一致(%keyword)を統合したモノはありますかね? 東京都渋谷区神宮前ならこの9文字中一文字でも検索語にあれば、 例えば、東、都立高校、髪神紙加味、いずれの場合でも 東京都渋谷区神宮前と検索結果が出てきて欲しいのです。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
SQL一発での検索は難しいでしょう。 フィールドの中身をmb_eregi関数で正規表現検索を 行ってはどうですか? その場合はコーディングでデータ全件数をループし パターンマッチングを行わないといけないので レスポンスは落ちますが… とりあえず機能としては実現することが出来ますよ。
その他の回答 (1)
- taka451213
- ベストアンサー率47% (436/922)
回答No.1
こんにちは。 検索対象が1対多ではなく、多対多なので、SQL一発では無理そうですね・・・。 どちらか一方は1文字ずつ切り出して、再帰的に検索するしかなさそうです。 (^^ゞ