如何检查是否允许特定用户下载特定内容?

时间:2015-09-19 03:07:24

标签: php mysql

我想在我的网站上创建一个下载中心,特定用户可以下载他们已付费的特定内容。我想创建一个像MySQL这样的表:

items | user1 | user2 |user3 
----------
item1 | true  |false  |false
----------
item2 | false | true  |false
----------

然后检查是否允许用户。在这种情况下,我必须为每个新用户添加一个新列,这可能是增加否的问题。用户

我怀疑这是否是一种好的或有效的方式。

请建议是否有更好的方法。

1 个答案:

答案 0 :(得分:0)

其实你是对的。具有这种预期增加的列数是关系设计差的标志。这种设计被称为" One Big Spreadsheet",当您想将关系数据库视为MS-Excel文件时生成。

解决方法是创建3个表(下面的演示是您需要的最小列):

  1. users表包含列:idusername
  2. files表包含列:idcode
  3. users_files表连接其他两个,包含列:iduser_id(FK),table_id(FK)
  4. 其中(FK)代表外键这是多对多关系。