使用php从具有多个值的列中抓取数据?

时间:2012-09-29 18:23:18

标签: php mysql sql

基本上我将产品数据存储在数据库中,该数据库还有一个名为“标签”的字段,用于存储有关该特定产品的标签。这些标签以如下格式存储:

“TAG1,TAG2,TAG3,TAG4”

问题是我想要一个用户可以查看该特定标签的所有最新产品的页面。如果不采用每一件产品,取出“标签”字段,将它们分开然后最后检查那里是否存在特定标签,我怎么能实现这一目标呢?

是否可以使用mysql命令执行此操作?

对不起,我没有发布任何代码,我只是不确定如何做一般这样的事情。

谢谢!

2 个答案:

答案 0 :(得分:1)

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

WHERE tags LIKE '%$search_tag%'

这假定搜索到的标记不能被其他标记包含,或者您需要:

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

显然,search_tag需要正确转义。

答案 1 :(得分:1)

您应该normalize您的数据库,这样您就可以通过SQL查询直接执行搜索。