创建一个允许会员注册其他会员的网络应用程序

时间:2012-06-04 15:01:59

标签: php mysql

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

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

令人困惑的部分是

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

    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,我可以使用它来查询孙子

    希望不要混淆任何人?提前致谢

1 个答案:

答案 0 :(得分:1)

为什么需要使用数组? 这是一个简单的一对多关系...只需创建一个表格来保存这种关系,或者heck - 用户表格中的一个字段......

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

用户表

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

user_registered

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