我现在很困惑。
我有一个数据库要为MLM (多层次营销)公司开发。所以有一个成员数据库..。每个成员都有唯一的名为成员代码的ID。所有的成员都有他们的成员。每个成员有3名成员在他/她下面。这三个成员可以在他们下面拥有同样的..。所有成员都被添加到一个名为"tbMembers“的数据库表中,对于每个成员,都有一个"parentID”,其中我在该成员是谁的下面添加了成员代码。对吗?
现在的问题是..。我想要一个SQL查询,它可以在..。就像“无名氏”有三个成员在他下面,名叫'Suzan‘,'Ellie’和'Smith‘。“铃安”也有三个成员在她下面。艾莉·也是如此。比如说..。“无名氏”有大约300个会员在他的底线?如果任何会员在他的下行线路下增加3名成员,那么他就会得到报酬,该成员增加了3名成员也得到了报酬,他的上行成员也得到了一定数额的报酬。我可以得到任何一个成员的下线水平号码吗??,并且可以根据他下面加入的3个成员来计算他的收入。
我正在使用PHP并使用我的-SQL。该怎么做呢?请帮帮我伙计们。
发布于 2013-05-19 06:50:35
我不知道你的桌子结构,但这是算法:
下面是php代码
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);发布于 2013-05-22 01:49:21
这个怎么样?
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;
}
}我冲过去是因为我的笔记本快没电了.几分钟后我会检查代码。
发布于 2013-06-27 13:18:03
我们已经找到了其他解决方案来快速了解用户链。
每个成员都有“路径”字段,由他上面的用户组成,包括他的id:'1,5,7,8,9,‘
您需要为每个新用户生成此路径。我们仍然使用id和pid
https://stackoverflow.com/questions/16631586
复制相似问题