我有一个自定义工作博客。一切工作正常我只是想知道如果有人知道更好的方式来从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
预先感谢!