
PHP 如何通过会员ID来查询出这个会员的下级以及下下级 15
想通过会员列表,显示出每个会员有多少个下级,下级有可能包含下下级和下下下级。需要统计出每个会员一共有多少个下级人数。agentid是这个会员的上级ID,如果是0的话就没有...
想通过会员列表,显示出每个会员有多少个下级,下级有可能包含下下级和下下下级。需要统计出每个会员一共有多少个下级人数。agentid是这个会员的上级ID,如果是0的话就没有下级了。
由于本人技术不咋样,所以一直没能解决这个问题,希望能提供一个demo给我,万分感谢!
上面这个是数据库结构
这个图是会员列表,我自己尝试了些了下获取下级总数的方法,但是研究了2天还是无果,计算出来的总数都是不对的。 展开
由于本人技术不咋样,所以一直没能解决这个问题,希望能提供一个demo给我,万分感谢!
上面这个是数据库结构
这个图是会员列表,我自己尝试了些了下获取下级总数的方法,但是研究了2天还是无果,计算出来的总数都是不对的。 展开
3个回答
展开全部
查询所有为0的一级会员
循环查询出来的一级会员并为每一个一级会员初始化一个计数量为0的变量
根据查询出来的一级会员ID查所有会员agentid等于一级会员ID的二级会员
得出每个一级会员下面的二级会员数量,并加在对应的计数量
根据查询出来的二级会员ID查所有会员agentid等于三级级会员ID的二级会员
得出每个二级级会员下面的三级会员数量,并加在对应的计数量
如果有四级可以继续循环下去,最后的计数量就是每个一级下面有多少个下属会员了
2016-05-12
展开全部
这个可以通过递归实现 我写个递归函数给你 你试试吧
function getChildren($arr,$pid){
$data = array();
foreach($arr as $v){
if($v['agentid'] == $pid){
$data[] = $v;
$data = array_merge($data,self::getChildren($arr,$v['id']));
}
}
return $data;
}
function getChildren($arr,$pid){
$data = array();
foreach($arr as $v){
if($v['agentid'] == $pid){
$data[] = $v;
$data = array_merge($data,self::getChildren($arr,$v['id']));
}
}
return $data;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |