【问题标题】:multiple email adresses and password for a single user单个用户的多个电子邮件地址和密码
【发布时间】:2014-02-03 03:17:48
【问题描述】:

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

我的问题是我想将帐户与用户分开。现在我设置了一个名为 Accounts 的表,其中包含电子邮件和密码,然后我有一个包含特定用户信息的 users 表。我希望几个人能够使用不同的凭据登录到同一个帐户。

用户表

ID, Name, Account_id etc.

帐户表

ID, Email, Password, date_added, date_updated etc.

这样做的最佳方法是什么?是有一个名为 UsersForAccounts 的交叉表,还是我在用户表中指定了多个 account_id?

【问题讨论】:

  • 为什么不制作类似group_id 的东西,其中每个account_id 都是一个(或多个)group_id 值的一部分?
  • 如果我付 500 美元,你付 250 美元,我预计你实际上有 250 美元的债务 :)

标签: php mysql


【解决方案1】:

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

因此,正如您所期望的那样,您有一个用户表 - 显然,每个表都有自己的值。

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

Users: id, email, password, name, group_id

Group: id, name

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

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

如果不清楚,请随时询问,我可能会更新

【讨论】:

  • 哦,我知道你用这个去哪里了。我会草拟一些东西,然后把结果回复给你!谢谢。
【解决方案2】:

您可以使用 Users 表中的结构:

ID, Name, etc.

Accounts 表中使用最简单的:

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

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

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

在一个基本示例中,Users 表具有以下字段:

ID, name, etc.

并且Accounts 列出了上面的结构:

ID, email, password, date_added, date_updated, user_id

这在短时间内帮不上什么忙,但它可以帮助您,并且非常有助于使用 PHP 的数据库。

【讨论】:

    猜你喜欢
    • 2018-08-21
    • 1970-01-01
    • 2021-04-29
    • 2015-01-23
    • 2021-03-27
    • 1970-01-01
    • 2023-01-27
    • 2014-12-26
    • 1970-01-01
    相关资源
    最近更新 更多