首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按标签选择博客文章

问按标签选择博客文章
EN

Stack Overflow用户
提问于 2012-03-21 22:05:41
回答 1查看 178关注 0票数 2

我有一个自定义的工作博客。一切正常,我只是想知道是否有人知道从mysql数据库中选择包含标签的文章的更好的方法。

目前,标签存储在"blog_tags“下的"blog”表中,并使用LIKE '%tag%‘检索文章。我这样做很好,直到我有2个标签包含相同的单词,例如网站和网站设计。

使用上面的方法,通过搜索像网站这样的标签,我会得到包含网站标签和网站设计的结果。

为了解决这个问题,我在每个标签的开头和结尾添加了"*“,这样blog_tags看起来就像*tag 1*,*tag 2*,*tag 3*,*等等……

现在我只搜索像‘%* blog_tags here*%’这样带有标签的文章。这可以完美地工作,但可能还有更好的方法。有什么想法吗?

当前使用的查询为:

代码语言:javascript
复制
"SELECT * FROM `blog` WHERE `active` = 'y' AND `blog_tags` LIKE '%*" . str_replace("-", " ", $tag) . "*%' ORDER BY `blog_created` DESC LIMIT " . $startfrom . "," . $limit

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2012-03-21 22:10:19

您有一个关系数据库。它旨在存储结构化数据。不要发明自己的结构,然后将它们存储在字段中。

这是一个标准的many to many relationship。

创建一个“标签”表和一个包含两列的关联表,这两列都是外键(标签id和博客条目id)。

然后使用JOIN来获取您关心的条目。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9806227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档