单个用户的多个电子邮件地址和密码

时间:2013-04-24 16:21:49

标签: php mysql

我正在建立一个学校项目,我的想法是建立一个网站,您可以在其中注册一个帐户,将几个用户添加到该帐户,然后计算他们的每月共享费用债务,例如用户A在杂货上支付500,而用户B仅支付250.这使用户B在该月向用户A支付125的债务。

我的问题是我想将帐户与用户分开。现在我设置了一个名为Accounts with email with password的表,然后我有一个包含特定用户信息的users表。我希望有几个人能够使用不同的凭据登录同一个帐户。

用户表

ID, Name, Account_id etc.

帐户表

ID, Email, Password, date_added, date_updated etc.

这样做的最佳方法是什么?它是否有一个名为UsersForAccounts的交叉表,还是在Users-table中指定了几个account_id?

2 个答案:

答案 0 :(得分:1)

您不会将其视为一个帐户中的多个用户。您可以将其视为共享公共组设置的多个用户帐户。

所以你有一个你可能期望的用户表 - 显然每个人都有自己的价值观。

然后你有一个相关的表来共享该组的详细信息。我们以博爱或其他东西为例。 所以你有Pi Phi作为一个团体名称。其中包括用户A,B和C. 一个非常非常基本的表结构可能如下所示:

Users: id, email, password, name, group_id

Group: id, name

因此,用户将 - 通过此设置 - 只与一个组有关系。您可以将其设为关系表,以便用户可以根据需要创建多个组。

这里的一般想法是您将该组用作与用户的单独连接点,而不一定是使用同一帐户访问的多个用户。

如果不清楚,请随时提出,我可能会更新

答案 1 :(得分:0)

您可以使用用户表格中的结构:

ID, Name, etc.

帐户表格中使用最简单:

ID, Email, Password, date_added, date_updated, User_ID, etc

这称为多对一关系,非常适合您的情况。

我可以传递给你的一个小提示是对你的所有字段使用LOWERCASE,或者使用字段名称的第一个字符的特殊字符,并带有“ID”的摘录(这只是首字母缩略词(或类似)) 识别

在一个基本示例中,用户表包含以下字段:

ID, name, etc.

帐户表格上面的结构:

ID, email, password, date_added, date_updated, user_id

这在短时间内无济于事,但它可以帮助您,并且非常重视PHP使用数据库。