关于上下级无限级的方法汇总

通过自己的ID,查询无限级下级的id值和每级的个数

public function teamer($uids){
for($i=1;$i<=9; $i++){
  $map['pid'] = array('in',$uids);
  $uids = M('userlist')->where($map)->getField('userid,username');
  $uids = array_keys($uids);
  $p_user_list[$i] = $uids; //获取每级下级的uid
  //$p_user_list[$i] = count($uids); 获取每级下级的个数
}
foreach($p_user_list as $v){
  foreach($v as $vv){
  $list[] = $vv;
  }
}
$str_list = implode(',',$list);  //所有下级的UID

}

通过自己的ID,获取N级上级

//查询父级
public function getParents($data,$id){
$arr = array();
foreach($data as $v){
  if($v['userid'] == $id){
  $arr[] = $v;
  $arr = array_merge(self::getParents($data,$v['pid']),$arr);
  }
  }
return $arr;
}

在具体调用这个方法

$p=M('userlist')->field("pid")->where('userid='.$userid)->find();
$pid =$p['pid']; //获取当前ID的父ID
$list = M('userlist')->field('userid,pid')->select();//获取所有用户
$data = $this->getParents($list,$pid);
$data = array_reverse($data);
for($i=0;$i<=10;$i++){
    if($data[$i]){
  $temp[]=$data[$i]['userid'];
  }
}
//$temp 就是获得九级的ID
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,410评论 2 89
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 12,964评论 6 13
  • Java继承关系初始化顺序 父类的静态变量-->父类的静态代码块-->子类的静态变量-->子类的静态代码快-->父...
    第六象限阅读 2,284评论 0 9
  • 上一回 80后CEO创业风云录 04 第五回 细心踏实得提拔 追求进步学西厨 列车徐徐驶入汕头站。汕头市是一座美丽...
    江南墨白阅读 252评论 0 1
  • 近段被热议的《深夜食堂》我没看, 让我想起以前成都的家出来路口的那些夜宵摊子。 通常十字路口一边的商场关门后, 才...
    披头五阅读 533评论 0 0

友情链接更多精彩内容