2017-05-24 69 views
-1

我想找到最好的方法来过滤一些数据与MySQL和PHP 所以基本上我有一个用户和他的访问表(1->是和0->否)最好的方法过滤数据与MySQL和PHP

enter image description here

,另一台为我所需要的数据,以基于像下面一行访问过滤器: enter image description here

我在做什么,此刻是我读从数据表中的所有项目,然后使用PHP循环遍历所有数据,并使用其他方法来保存项目或不使用

这是工作得很好,因为速度但是可能需要更多的过滤,这将使if else语句更大和更复杂.. 任何好主意或技巧?

+1

你可以发布你现有的SQL查询吗?里斯? –

+4

最好的方法是标准化 – Strawberry

回答

2

你应该正常化访问表是这样的:

LocationAccess:

user location 
---- -------- 
adam CountryA 
adam CountryB 
alice CountryB 
alice CountryC 

TypeAccess:

user type 
---- ---- 
adam A 
adam B 
adam C 
alice A 
alice C 

然后你就可以加入表:

SELECT l.user, data.item 
FROM data 
JOIN LocationAccess AS l ON l.location = d.location 
JOIN TypeAccess AS t ON t.type = d.type AND t.user = l.user