簡體   English   中英

PHP MySQL使用標簽顯示相關項目

[英]PHP MySQL show related items using tags

我想使用標簽顯示類似的物品。

我有項目表,其中itemiditemnameitemtagids為列。 itemtagids具有CSV標簽ID。

假設在itemid 1 ,我有3個標記ID 1,2,3 ,在itemid 2我有4個標記ID 3,4,5,6itemid 3有2個標記ID 2,3 ,依此類推。

我希望對於類似項目中的itemid 1 ,應首先顯示第3個itemid (因為它具有2個匹配項),然后顯示itemid 2 ,依此類推。

我用的是:

SELECT itemid 
FROM items 
WHERE MATCH (itemtagids ) AGAINST ('2823' IN BOOLEAN MODE)

僅在itemtags id列中有一個itemtagid的情況下,它才返回結果。

順序是謊言: 234,546,2823,342,5643因此,這里2823不是單個單詞,而是234,54 ... 43中的完整字符串

在這種情況下,如果標簽采用ID形式和CSV格式,應該怎么做?

似乎“ FULLTEXT”不適合您的情況。 嘗試改用正則表達式。

SELECT `itemid`
FROM `items`
WHERE `itemtagids` REGEXP '^2823$' 
OE `itemtagids` REGEXP '^2823,'
OR `itemtagids` REGEXP ',2823$'
OR `itemtagids` REGEXP ',2823,';

編輯:或者也許您可以使用單個正則表達式,例如:

SELECT `itemid`
FROM `items`
WHERE `itemtagids` REGEXP '[[:<:]]2823[[:>:]]';

希望能幫助到你!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM