2012-09-29 40 views
0

基本上我有存儲在數據庫中的產品數據,其中也有一個名爲「標籤」的字段,用於存儲有關該特定產品的標籤。這些標籤都存儲在一個格式像這樣:從具有多個值的列中抓取數據,使用php?

「標籤1,標籤2,標籤3,TAG4」

的問題是說,我想有一個頁面,用戶可以查看所有最新產品的具體標籤。我怎麼可能在不用每一個產品的情況下完成這項工作,獲取「標籤」字段,將它們分開,然後最終檢查那裏是否存在特定標籤?

是否有可能用mysql命令做到這一點?

我很抱歉,我沒有張貼任何代碼,我只是我不知道我應該如何去一般做這樣的事情。

謝謝!

回答

1

可能不是最有效的方法,但是:

WHERE tags LIKE '%$search_tag%' 

這假設是搜索不能被其他標籤包含一個標籤,或者你需要:

WHERE 
    tags LIKE '%,$search_tag%' 
    OR tags LIKE '%$search_tag,%' 
    OR tags = '$search_tag' 

顯然,search_tag需要妥善轉義。

+0

嗯,謝謝。你可能會推薦一個更有效的方式來做到這一點? – user1701398

+1

是喜歡的是做到這一點的最好方式,更多的功能和大網站你最好創建一個新表保存標籤和使用產品id作爲外鍵 –

+1

@ user1701398爲阿曼說,這將是更有效地調整你的數據庫,以使標籤個別指數。 –

1

你應該normalize你的數據庫,這樣你就可以通過SQL查詢直接進行搜索。

相關問題