0
点赞
收藏
分享

微信扫一扫

php递归查找树形用户关系团队总人数


php递归查找树形用户关系团队总人数

users表中有 

user_id:当前用户ID

first_leader:上级ID(是上级ID,不是第一级IID) 

/**
* 通过 user_id 查 所有
*/
public function get_team_num(){
ini_set('max_execution_time', '0');

$user_id = I('user_id');

$all = M('users')->field('user_id,first_leader')->select();


$values = [];
foreach ($all as $item) {
$values[$item['first_leader']][] = $item;
}
//foreach ($all as $k => $v) {
$coumun = $this->membercount($user_id, $values);

//M('users')->where(['user_id'=>$v['user_id']])->update(['underling_number'=>$coumun]);
//$coumun += $coumun;
// }

M('users')->where(['user_id'=>$user_id])->update(['underling_number'=>$coumun]);

echo $coumun;

}


public function membercount($id, $data)
{
$count = 0;
$num = count($data[$id]);
if (empty($data[$id])) {
return $num;
} else {
$mun = 0;
foreach ($data[$id] as $key => $value) {
if (empty($data[$value['user_id']])) {
continue;
} else {
$mun += intval($this->membercount($value['user_id'], $data));
}
}
$num += $count;
}
return $num + $mun;
}

 

举报

相关推荐

0 条评论