我有一個自定義工作博客。一切工作正常我只是想知道如果有人知道更好的方式來從MySQL數據庫選擇包含標籤的文章。按標籤選擇博客文章
當前標籤存儲在「blog」表中的「blog_tags」下,並且文章使用LIKE'%tag%'進行了重新劃分。我工作得很好,直到我有2個包含相同單詞的標籤,例如網站和網站設計。
使用上述方法搜索標籤,如網站我會得到包含網站標籤和網站設計的結果。
要解決每個標籤的我加了「*」開頭的解決方案,最終使blog_tags現在看起來像*標籤1 *,*標籤2 *,*標籤3 *,*等等...
現在我只需搜索blog_tags文章,如'%* tag here *%'。這很好,但可能有更好的方法。有任何想法嗎?
目前使用的查詢是:
"SELECT * FROM `blog` WHERE `active` = 'y' AND `blog_tags` LIKE '%*" . str_replace("-", " ", $tag) . "*%' ORDER BY `blog_created` DESC LIMIT " . $startfrom . "," . $limit
預先感謝!