如何根据PHP的不同用户角色从mysql DB中检索记录

时间:2016-06-07 09:26:04

标签: php mysql

我在MySQL表格中保存了数十万条记录。 PHP作为代码背后。

在我们的在线门户网站中,我应该允许用户根据其地理标准查看记录 - 付费会员门户。

例如:如果用户只想查看印度的记录,我们将提供仅查看那些记录的访问权限(该用户不应该看到其他记录)。如果用户支付&希望印度&英格兰记录,我们应该只显示这两个国家的记录(并非所有记录)。

在我的控制中提供访问权限(即管理控制)

路径流程:用户登录 - >仅显示特定记录(在我的控件中提供访问权限)

如何构建用于显示页面的MySQL查询?

示例用户类型:我们必须提供以下用户标准的访问权限。

  • 用户1:只想要印度记录。
  • User2:只想要澳大利亚&日本记录。
  • User3:只想要美国和美国英国记录。
  • User4:仅通缉墨西哥,俄罗斯,日本,中国的记录。
  • User5:只想要南非,肯尼亚,斯里兰卡的记录。

我的网站只有2页

  1. 登录页面
  2. 显示页面

1 个答案:

答案 0 :(得分:1)

听起来你需要适当地构建你的数据。听起来像一个相当标准的关系数据库。我会用下表来设计它:

  1. 用户(UserID作为主键)
  2. 国家/地区(CountryID为主键)
  3. UserCountries(具有UserID和CountryID的外键)。
  4. 记录(具有CountryID的外键
  5. 这样,当用户登录时,您就知道他们的UserID。您可以查询UserCountries表以查找他们请求的国家/地区。然后,您可以查询记录表以仅查找这些国家/地区的记录。可能你可以在一个查询中完成所有这些,如下所示:

    select *
    from Records R
    inner join UserCountries UC on UC.CountryID = R.CountryID
    where UC.UserID = UserID