0
我正在製作一個網站,用於圖像庫網站,其中會有成千上萬的圖像。 我的表結構的圖像在這個環節 here用於圖像搜索的Mysql查詢
上現在我想的是,當這個詞的用戶搜索「粉紅色」它應該顯示從圖像表兩個圖像。但是,如果用戶搜索「粉紅色的花朵」,它應該只顯示第一張圖片。這只是一個例子。用戶甚至可能搜索「美麗的粉紅色花朵」... 我只需要mysql的查詢相同。我希望我的問題很清楚。預先感謝任何幫助和建議。
我正在製作一個網站,用於圖像庫網站,其中會有成千上萬的圖像。 我的表結構的圖像在這個環節 here用於圖像搜索的Mysql查詢
上現在我想的是,當這個詞的用戶搜索「粉紅色」它應該顯示從圖像表兩個圖像。但是,如果用戶搜索「粉紅色的花朵」,它應該只顯示第一張圖片。這只是一個例子。用戶甚至可能搜索「美麗的粉紅色花朵」... 我只需要mysql的查詢相同。我希望我的問題很清楚。預先感謝任何幫助和建議。
在運行explode(' ', $serachTags)
或其他東西來獲取每個標籤後,您可以這樣做。
SELECT
images.img_name,
images.img_url
FROM
images,
connections,
tags AS tagA,
tags AS tagB,
tags AS tagC,
...
WHERE
images.img_id = connections.img_id AND
tagA.tag_id = connections.tag_id AND
tagA.tag_name = 'name1' AND
tagB.tag_id = connections.tag_id AND
tagB.tag_name = 'name2' AND
tagC.tag_id = connections.tag_id AND
tagC.tag_name = 'name3' AND
...
I.e。花卉和粉紅色,你可以這樣做:
SELECT
images.img_name,
images.img_url
FROM
images,
connections,
tags AS tagA,
tags AS tagB
WHERE
images.img_id = connections.img_id AND
tagA.tag_id = connections.tag_id AND
tagA.tag_name = 'flower' AND
tagB.tag_id = connections.tag_id AND
tagB.tag_name = 'pink'
安德烈亞斯哎,對不起回覆晚了......首先感謝查詢,但它似乎像我做的,你給我的查詢的一些錯誤...能你請給我一個精確的查詢,確切地說,'花'和'粉紅色'這兩個詞,這樣我就可以將它粘貼到我的本地主機來檢查它是否工作。謝謝您的幫助。 –
已編輯答案,包括您要求的代碼=) –
唉你的查詢din't工作。它返回零行結果:( –