データベースに次のようなレコードがあります。
hashtag - description - tags - location - time - day
#social - description - social media, facebook, social networking sites, social media, smartphone - usa - Tuesday
#php - description - programming language, coding, open source - usa - Tuesday
#iphone - description - smartphone, apple, iphone apps, costly phone, touch screen - usa - Tuesday
ここで、タグはコンマ区切りの値です。
これで、ユーザーが検索するprogramming
と、結果はになります2nd row
。
"coding" - 2nd row
"smartphone" - 3rd & 1st row.
"iphone" - 3rd row
つまり、タグを検索したり、直接ハッシュキーワードを検索したりするようなものです。最初の列はhashkeyword
です。タグはデータベースにカンマ区切りで保存されます。
私はfind_in_set()
これに使用していますが、正しく機能していないようです。
SELECT * FROM `hash`WHERE `hashtag` LIKE 'smartphone' OR find_in_set('smartphone', tags)
最初の行のみを返します。
iphone - iphone description - smartphone, apple, apps, touchscreen - India - tuesday
ただし、「スマートフォン」の値も3行目にあるため、1行目と3行目を返す必要があります。
どこが間違っているのですか?または、代わりにこのように検索するための別の方法はありfind_in_set()
ますか?