0

我处于紧张状态,我被委托创建一个 PHP Web 应用程序,允许一个注册,然后用户可以再注册 5 个其他用户,他注册的其他用户也可以每个注册 5 个成员。

我希望创建数据库以将用户保存在数组中注册的特定成员,从而我将以表格形式列出它们,

令人困惑的部分是

  1. 如何分解数据库结构以便它可以保存五个用户,然后在查询时将它们列出(我很困惑将它们保存在数组或单独的表中)。但我更喜欢保存在数组中
  2. 由 5 个注册的任何一个注册的任何其他用户都将被链接到主裁判,所有这些都将被计算在内,整个过程停止,因为用户注册了 5 个成员,并且 5 个成员也注册了 5 个用户到他/她的帐户使每个帐户的总数为 25

可以表示为

1. Parent - 5 children - 

那么5个孩子每个生5个孩子,父母会承认他的孩子和他的孙子,一旦孩子和孙子的数量达到25,父母的生殖周期结束,他的孩子也可以继续做他们的25

我已经创建了数据库,但我需要一些指导来成功构建它,因为我有 3 天的时间来完成这部分。

public function userTable()
{
    $qry = "CREATE TABLE IF NOT EXISTS users(
    user_id         INT(8) NOT NULL AUTO_INCREMENT, 
    username        VARCHAR(35) NOT NULL,
    password        VARCHAR(35) NOT NULL,
    referralIDs             varchar(500) NOT NULL,
    totalRefers        VARCHAR(35) NOT NULL ,
    userIDhash          varchar(30) not null,
    date                date,
    time                varchar(20) not null,
    PRIMARY KEY (user_id)
    )TYPE=INNODB";
$result = $this->qry($qry);
    return;
}

    public function ReferralTable()
{
    $qry = "CREATE TABLE IF NOT EXISTS Refers(
    user_id         INT(50) NOT NULL, 
    usersRegistered        VARCHAR(500) NOT NULL,
    referby             int(50) not null
    )TYPE=INNODB";
$result = $this->qry($qry);
    return;
}

我更喜欢只使用一个表,它将我的孩子保存在一个由“,”分隔的数组中,然后我可以从那里开始对如何保存它感到困惑,并一个接一个地检索孩子的 ID,我可以用它用于查询孙子

希望不会让任何人感到困惑??提前致谢

4

1 回答 1

1

为什么需要使用数组?这是一个简单的一对多关系...只需创建一个包含此关系的表,或者见鬼 - 用户表中的一个字段...

这是两个表示例的示例...

用户表

id | email | name | whatever
1    a@b.c   jon
2    j@b.c   mel

用户注册

register_id | registree_id
    1             null
    2              1

一张桌子的例子

id | email | name | whatever | ref_user_id
1     a@b.c   jon                NULL
2     j@b.c   mel                  1
3     f@b.c   al                   1

比你能得到所有 1 注册的用户:

SELECT * FROM user WHERE ref_user_id = 1

或获取 1 注册的人数

SELECT COUNT(*) FROM user WHERE ref_user_id = 1

在这两种情况下,id 为 1 的用户首先注册(未提及),然后他注册了用户 #2

于 2012-06-04T15:10:40.143 回答