mysql查询二三级目录_php查询mysql数据库中所有的四级数据以及第四级数据对应的第三级和第二级的名称字段怎么查?...

展开全部

这个需要用程序递归处理32313133353236313431303231363533e4b893e5b19e31333431343634$dept_tree=[];

$deptid = 19;

while($deptid>0){

//假设你的数据库查询是这个函数,根据条件直接查询一条记录返回

$dept = getone('department',['id'=>$deptid]);

//防止数据丢失出错

if(empty($dept))break;

array_unshift($dept_tree,$dept);

$deptid = $dept['dep_parentid'];

//如果需要防止数据错乱出现递归,这里可以判断一下

if(in_array($deptid,array_column($dept_tree,'id') !== false){

//说明职位关系乱了,有死循环

break;

}

}

可以把这段代码封装成一个函数使用。这里就不论从哪一级开始查询了,总是能把该职位及其上级全部查询出来,按顺序放进数组里

$dept_tree 类似这样array(

0=>array(

'id'=>1,

'dep_parentid'=>0,

'dep_name'=>'顶级',

),

1=>array(

'id'=>2,

'dep_parentid'=>1,

'dep_name'=>'国灿金融',

),

2=>array(

'id'=>4,

'dep_parentid'=>2,

'dep_name'=>'招聘部',

),

3=>array(

'id'=>19,

'dep_parentid'=>4,

'dep_name'=>'经理助理',

),

)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值