Php 在mySQL中构造用户表

Php 在mySQL中构造用户表,php,mysql,Php,Mysql,我正在尝试确定构造用户表的最佳方法。用户可以访问多个“品牌”,每个品牌将有多个表。也就是说,如果用户X想要查看品牌Y的数据,数据库中包含的信息说明我需要调用哪些表 例如,用户X可以访问Brand1和Brand2。Brand1的数据在表1、表2和表3中。Brand2的数据如表4、表5、表6所示。用户选择Brand2,应用程序进行调用,以确定在用户选择其他品牌之前应使用表4、表5、表6 如果知道一个品牌可能有多个用户可以访问数据,那么最好的方法是什么 我需要的不仅仅是一个用户表吗?如果需要的话,还需

我正在尝试确定构造用户表的最佳方法。用户可以访问多个“品牌”,每个品牌将有多个表。也就是说,如果用户X想要查看品牌Y的数据,数据库中包含的信息说明我需要调用哪些表

例如,用户X可以访问Brand1和Brand2。Brand1的数据在表1、表2和表3中。Brand2的数据如表4、表5、表6所示。用户选择Brand2,应用程序进行调用,以确定在用户选择其他品牌之前应使用表4、表5、表6

如果知道一个品牌可能有多个用户可以访问数据,那么最好的方法是什么

我需要的不仅仅是一个用户表吗?如果需要的话,还需要什么以及如何连接到用户表


谢谢。

您可以使用
GRANT
查询,这样用户就可以访问数据库中的2个表,然后在应用程序中,您可以对其进行编码,只选择1个表,直到用户更改品牌。品牌本身就是桌子,不是吗

在PHP代码中,代码和查询应如下所示:

<?php
$db = new mysqli('hostname', 'db_username', 'db_password', 'db_name');
$brand = $_SESSION['brandName']; // use this if you use sessions to cache the data
$db->query("SELECT * from `$brand`");

就像马克·贝克指出的那样,您可以有一个用户表、一个品牌表和一个用户品牌表

用户表-存储用户id(和其他用户数据) 品牌表-存储品牌标识(和其他品牌数据)

您已经定义了用户和品牌之间的关系。它是M:N(多对多),这意味着:

  • 一个用户可以访问多个品牌
  • 一个品牌可以被许多用户访问
Table user_brand解决了访问问题

user_brand table-存储user_id和brand_id(以及更好地描述此关系的可选数据)


下面是一个关于sql语法(强制外键约束)的列表。

每个品牌的表。。。。糟糕的设计让人讨厌。。。。一个
user
表,一个
brand
表和一个
user\u brand
表,将用户链接到品牌(定义用户可以看到的品牌),我想这将是多个表,但我仍然停留在每个表中的内容(即,列是什么)上。如果我制作了一个品牌表,并且我想包括哪些用户有权访问该品牌,那么哪些列尤其是我需要指示多个用户有权访问该品牌的列?不要过度使用表。。。阅读更多关于标准化的信息-用户得到1个表格,品牌1个表格,您可以放置一些列,您可以定义功率和位置,您可以使用这些列来操作您需要的。。。所有者、管理员、mod、成员和来宾都存储在一个表中,但该表中的一列定义了他们是谁……您不会在
品牌
表中放入任何内容来说明
用户可以访问哪些
品牌
。。。。您使用了一个
user\u brand
表,该表只有两列,
user\u id
brand\u id