首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >传销业务的复杂MySQL查询

传销业务的复杂MySQL查询
EN

Stack Overflow用户
提问于 2013-05-19 04:54:53
回答 4查看 3.8K关注 0票数 1

我现在很困惑。

我有一个数据库要为MLM (多层次营销)公司开发。所以有一个成员数据库..。每个成员都有唯一的名为成员代码的ID。所有的成员都有他们的成员。每个成员有3名成员在他/她下面。这三个成员可以在他们下面拥有同样的..。所有成员都被添加到一个名为"tbMembers“的数据库表中,对于每个成员,都有一个"parentID”,其中我在该成员是谁的下面添加了成员代码。对吗?

现在的问题是..。我想要一个SQL查询,它可以在..。就像“无名氏”有三个成员在他下面,名叫'Suzan‘,'Ellie’和'Smith‘。“铃安”也有三个成员在她下面。艾莉·也是如此。比如说..。“无名氏”有大约300个会员在他的底线?如果任何会员在他的下行线路下增加3名成员,那么他就会得到报酬,该成员增加了3名成员也得到了报酬,他的上行成员也得到了一定数额的报酬。我可以得到任何一个成员的下线水平号码吗??,并且可以根据他下面加入的3个成员来计算他的收入。

我正在使用PHP并使用我的-SQL。该怎么做呢?请帮帮我伙计们。

EN

回答 4

Stack Overflow用户

发布于 2013-05-19 06:50:35

我不知道你的桌子结构,但这是算法:

下面是php代码

代码语言:javascript
复制
    function get_recursive_users($pid)
    {
        $users = //get a query from users that parentid= $pid;
            /*for example db::query('SELECT * FROM `members` WHERE parentid="'.$parentid.'"');*/




        foreach($users as $user)
        {
            return get_recursive_users($user['pid']);
        }

    }

    $parentid = 'your current user Pid'
    get_recursive_users($parentid);
票数 2
EN

Stack Overflow用户

发布于 2013-05-22 01:49:21

这个怎么样?

代码语言:javascript
复制
function get_downline_list($pid)
{
    /* query the database for all users ('SELECT * FROM `members` );*/
    foreach($row = mysql_fetch_assoc($result))
    {
       $allUsers[$row[parentID]][]=$row;
    }

    $dowlnineCount=1;
    $nextDownline=$allUsers[$pid];

    while($nextDownline && count($nextDownline)){
       $allDownlines[$dowlnineCount]=$nextDownline;

       foreach($nextDownline as $user){
           $anotherDownline[]=$user;
       }

       $nextDownlnine=$anotherDownline;
    }
}

我冲过去是因为我的笔记本快没电了.几分钟后我会检查代码。

票数 0
EN

Stack Overflow用户

发布于 2013-06-27 13:18:03

我们已经找到了其他解决方案来快速了解用户链。

每个成员都有“路径”字段,由他上面的用户组成,包括他的id:'1,5,7,8,9,‘

您需要为每个新用户生成此路径。我们仍然使用id和pid

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16631586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档