我在PHP中有一个字符串数组,名为组。根据用户输入,该数组看起来像这样:groups [All,Sales]。基于字符串数组的过滤记录PHP和MySQL
实施例:(更新后的表SCHEMA)
groups[] = ['Sales', 'All']
ANNOUNCEMENT
|description|masterID| groupName |
=======================================
| hello | 1 | All, Final, |
| greetings | 2 | Sales, All, |
| demo | 3 | Final, |
因此,从上表中它应仅返回 “你好” 和 “问候” 为输出因为基团[]具有销售和全部作为行1具有所有和行2都有。请帮忙。我是SQL和PHP的业余爱好者。
我目前的尝试:
SELECT * FROM announcement WHERE groupName REGEXP '(Sales | All)'
输出:
No rows affected
切勿在数据库中存储逗号分隔值。要检索它们,您需要通过LIKE“%Final%”进行全文搜索。 – sashkello 2013-05-04 12:47:31
我会建议规范化你的数据库。用组名创建一个新表,并使用masterID和groupId创建另一个表。这会让你的生活更轻松。 – 2013-05-04 12:48:49
感谢您的所有建议,但这是我必须与之合作。不能改变它,否则我会轻松解决这个问题。你能告诉我一个方法来处理这个吗? – 2013-05-04 12:51:16