本文主要是介绍分销系统获得一个用户的所有下级,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在做分销系统的时候,上下级的关系只有父id的情况下,获得这个id的所有下线,下线的下线 public function countLine($parentId,$router,$routerArr){//$parentId 上级的ID/(下级的上级ID)//$router 实时路由,当用户没有下级的时候,赋值给路由数组//$routerArr 路由数组,用户id为键名,键值为路由$routerArr[$parentId] = $router; //当前用户的路由$sql = "SELECT id FROM user WHERE parentid = '".$parentId."' ";$query = $this->db->query($sql);if($query->num_rows() > 0 ){$all = $query->result_array();$number = count($all);foreach ($all as $key => $value) { $nextRouter = $router.','.$value['id'];$query = $this->countLine($value['id'],$nextRouter,$routerArr);$number += $query['number'];$routerArr =& $query['routerArr'];}}else{$number = 0;}return array("number"=>$number,"router"=>$router,"routerArr"=>$routerArr);}public function showCountLine(){var_dump($this->countLine('100','100',array()));}
一般比较方便的做法是下级保留上级的路由,这个路由包含了所有关联的上级id关系例如一个用户的ID为1000,这个用户的上级的ID是900,上级的上级是800,那么他的路由应该保存为:系统,100,200...800.900,1000。
这篇关于分销系统获得一个用户的所有下级的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!