重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
查询所有为0的一级会员
成都创新互联公司自2013年创立以来,是专业互联网技术服务公司,拥有项目网站设计制作、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元丰台做网站,已为上家服务,为丰台各地企业和个人服务,联系电话:13518219792
循环查询出来的一级会员并为每一个一级会员初始化一个计数量为0的变量
根据查询出来的一级会员ID查所有会员agentid等于一级会员ID的二级会员
得出每个一级会员下面的二级会员数量,并加在对应的计数量
根据查询出来的二级会员ID查所有会员agentid等于三级级会员ID的二级会员
得出每个二级级会员下面的三级会员数量,并加在对应的计数量
如果有四级可以继续循环下去,最后的计数量就是每个一级下面有多少个下属会员了
用递归。
$arr=array(
array('id'=1,'area'='安徽','pid'=0),
array('id'=2,'area'='北京','pid'=0),
array('id'=3,'area'='淮北','pid'=1),
array('id'=4,'area'='濉溪','pid'=3),
array('id'=5,'area'='昌平','pid'=6),
array('id'=6,'area'='朝阳','pid'=2),
array('id'=7,'area'='中南海','pid'=2)
);
/*function ifind($arr,$id=1){
static $data=array();
foreach($arr as $k=$v){
if($v['id']==$id){
$data[]=$v;
}
if($v['pid']==$id){
$data[]=$v;
}
}
return $data;
}
print_r(ifind($arr));
function getAllIds($id)
{
$res = mysql_query("select * from `表名` where father_id='$id'");
while($row = mysql_fetch_array($res,MYSQL_ASSOC))
{
print_r($row);
getAllIds($row['class_id']);
}
}
这个就要看你的数据库是怎么实现的。
我之前给一个人做个一个类似的会员推广提成的模块,就a推广出的a-1,a-2继续推广,得到a-1-1,a-1-2等等。
我的数据库设计思路如下:
用户表中有一个son这么一个字段,这个字段中存放名下所有会员的id,用分号隔开。
这个字段的维护:
比如a-1-1推广出了一个a-1-1-1,此新用户的id是12345,那么给a-1-1 a-1 a这个三个用户son字段内均添加12345这个id,删除一个用户做法一样。
有了这张表就能实现你要的效果。
查一个会员名下所有的会员,只需要读取该会员的son字段即可
查一个会员的上级 怎在数据库中所搜son字段,含有此会员id的都是他的上级会员。
当然,还有一个字段是标记此会员的直接上级会员,这样 一张表就能从任意会员得到整个会员推广树。
希望这个思路能帮到你。