2011-12-10 154 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