2011-12-10 118 views
0

这部分是什么我的表由一个例子:查找字符串/数组中的字符串

groupCanSee 
1 
1,2 
-1,2 

然后我有一个数组(详细介绍了集团认为该成员的一部分),我已经转换成一个字符串 - 但可以作为一个数组。

我试过使用FIND_IN_SET(groupsCanSee, $usersGroups) - 但我当然有这个问题,FIND_IN_SET函数,只能发现一个字符串的一部分(例如1,2中的1),但如果我希望它是可见的到组1和4 (FIND_IN_SET('1,4','1,2'))它将无法正常工作。

有没有人对解决方法有任何建议?

+0

什么是示例数据你想要的结果? –

+0

最好的建议是规范你的表格。 ;) –

+0

此数据的预期结果是形成一个菜单,根据用户所属的组来限制某些区域。 – Daniel

回答

1

简单的布尔逻辑:

FIND_IN_SET(groupsCanSee, `1`) OR FIND_IN_SET(groupsCanSee, `4`) 
+0

我怎样才能做到这一点与字符串虽然 - 我有$ userGroups =“1,2,3”等 - 然而,这将需要我为每个人这样做吗? – Daniel

+0

@Daniel:是的。将它们分解为源代码。这就是为什么你不应该为这种整理数据使用字符串。 NORMALIZE。 –

+0

感谢您的帮助!我将学习正常化 – Daniel