目录
三级分类 like查询 查询到很多id 需要找到对应的父级id 并根据父级id组合 应该怎么根据父级id将数据组合在一起呢?
Aug 04, 2016 am 09:19 AM
php
这是获取到的数据 父级id为parent_id
<code>Array ( [0] => Array ( [department_id] => 1 [parent_id] => 0 [department_code] => xsb1 [department_name] => 销售部1 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [1] => Array ( [department_id] => 2 [parent_id] => 1 [department_code] => xs1q [department_name] => 销售1区 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [2] => Array ( [department_id] => 3 [parent_id] => 2 [department_code] => xs1ks [department_name] => 销售1科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [3] => Array ( [department_id] => 4 [parent_id] => 2 [department_code] => xs2ks [department_name] => 销售2科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [4] => Array ( [department_id] => 5 [parent_id] => 2 [department_code] => xs3ks [department_name] => 销售3科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [5] => Array ( [department_id] => 6 [parent_id] => 2 [department_code] => xs4ks [department_name] => 销售4科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [6] => Array ( [department_id] => 7 [parent_id] => 1 [department_code] => xs2q [department_name] => 销售2区 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [7] => Array ( [department_id] => 8 [parent_id] => 7 [department_code] => xs1ks [department_name] => 销售1科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [8] => Array ( [department_id] => 9 [parent_id] => 7 [department_code] => xs2ks [department_name] => 销售2科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [9] => Array ( [department_id] => 10 [parent_id] => 7 [department_code] => xs3ks [department_name] => 销售3科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [10] => Array ( [department_id] => 11 [parent_id] => 7 [department_code] => xs4ks [department_name] => 销售4科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [11] => Array ( [department_id] => 12 [parent_id] => 0 [department_code] => xsb2 [department_name] => 销售部2 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [12] => Array ( [department_id] => 13 [parent_id] => 12 [department_code] => xs3q [department_name] => 销售3区 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [13] => Array ( [department_id] => 14 [parent_id] => 13 [department_code] => xs1ks [department_name] => 销售1科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [14] => Array ( [department_id] => 15 [parent_id] => 13 [department_code] => xs2ks [department_name] => 销售2科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [15] => Array ( [department_id] => 16 [parent_id] => 13 [department_code] => xs3ks [department_name] => 销售3科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [16] => Array ( [department_id] => 17 [parent_id] => 13 [department_code] => xs4ks [department_name] => 销售4科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [17] => Array ( [department_id] => 18 [parent_id] => 12 [department_code] => xs4q [department_name] => 销售4区 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [18] => Array ( [department_id] => 19 [parent_id] => 18 [department_code] => xs1ks [department_name] => 销售1科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [19] => Array ( [department_id] => 20 [parent_id] => 18 [department_code] => xs2ks [department_name] => 销售2科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039208 [add_user_id] => 1 [edit_time] => 1470039208 [edit_user_id] => 1 ) [20] => Array ( [department_id] => 21 [parent_id] => 18 [department_code] => xs3ks [department_name] => 销售3科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039208 [add_user_id] => 1 [edit_time] => 1470039208 [edit_user_id] => 1 ) [21] => Array ( [department_id] => 22 [parent_id] => 18 [department_code] => xs4ks [department_name] => 销售4科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039208 [add_user_id] => 1 [edit_time] => 1470039208 [edit_user_id] => 1 ) )</code>
登录后复制
登录后复制
这个还是三级分类有可能搜到的是最后一级 那还要找俩级 怎么去合并啊
回复内容:
这是获取到的数据 父级id为parent_id
<code>Array ( [0] => Array ( [department_id] => 1 [parent_id] => 0 [department_code] => xsb1 [department_name] => 销售部1 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [1] => Array ( [department_id] => 2 [parent_id] => 1 [department_code] => xs1q [department_name] => 销售1区 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [2] => Array ( [department_id] => 3 [parent_id] => 2 [department_code] => xs1ks [department_name] => 销售1科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [3] => Array ( [department_id] => 4 [parent_id] => 2 [department_code] => xs2ks [department_name] => 销售2科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [4] => Array ( [department_id] => 5 [parent_id] => 2 [department_code] => xs3ks [department_name] => 销售3科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [5] => Array ( [department_id] => 6 [parent_id] => 2 [department_code] => xs4ks [department_name] => 销售4科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [6] => Array ( [department_id] => 7 [parent_id] => 1 [department_code] => xs2q [department_name] => 销售2区 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [7] => Array ( [department_id] => 8 [parent_id] => 7 [department_code] => xs1ks [department_name] => 销售1科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [8] => Array ( [department_id] => 9 [parent_id] => 7 [department_code] => xs2ks [department_name] => 销售2科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [9] => Array ( [department_id] => 10 [parent_id] => 7 [department_code] => xs3ks [department_name] => 销售3科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [10] => Array ( [department_id] => 11 [parent_id] => 7 [department_code] => xs4ks [department_name] => 销售4科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [11] => Array ( [department_id] => 12 [parent_id] => 0 [department_code] => xsb2 [department_name] => 销售部2 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [12] => Array ( [department_id] => 13 [parent_id] => 12 [department_code] => xs3q [department_name] => 销售3区 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [13] => Array ( [department_id] => 14 [parent_id] => 13 [department_code] => xs1ks [department_name] => 销售1科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [14] => Array ( [department_id] => 15 [parent_id] => 13 [department_code] => xs2ks [department_name] => 销售2科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [15] => Array ( [department_id] => 16 [parent_id] => 13 [department_code] => xs3ks [department_name] => 销售3科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [16] => Array ( [department_id] => 17 [parent_id] => 13 [department_code] => xs4ks [department_name] => 销售4科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [17] => Array ( [department_id] => 18 [parent_id] => 12 [department_code] => xs4q [department_name] => 销售4区 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [18] => Array ( [department_id] => 19 [parent_id] => 18 [department_code] => xs1ks [department_name] => 销售1科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039207 [add_user_id] => 1 [edit_time] => 1470039207 [edit_user_id] => 1 ) [19] => Array ( [department_id] => 20 [parent_id] => 18 [department_code] => xs2ks [department_name] => 销售2科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039208 [add_user_id] => 1 [edit_time] => 1470039208 [edit_user_id] => 1 ) [20] => Array ( [department_id] => 21 [parent_id] => 18 [department_code] => xs3ks [department_name] => 销售3科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039208 [add_user_id] => 1 [edit_time] => 1470039208 [edit_user_id] => 1 ) [21] => Array ( [department_id] => 22 [parent_id] => 18 [department_code] => xs4ks [department_name] => 销售4科室 [department_phone] => [department_cornet] => [department_description] => [department_sort] => 0 [is_delete] => 1 [department_status] => 1 [add_time] => 1470039208 [add_user_id] => 1 [edit_time] => 1470039208 [edit_user_id] => 1 ) )</code>
登录后复制
登录后复制
这个还是三级分类有可能搜到的是最后一级 那还要找俩级 怎么去合并啊
只想到用foreach
将相同父id的数据放到同一个以parent_id为key的数组内,如果要父级信息的话还可以进行次逻辑判断
<code>$result =[] foreach($list as $key => $val){ if($val['parent_id'] != 0) { $result[$val['parent_id']][] = $val; } } </code>
登录后复制
1、增加一个path字段,表示从根节点到叶子节点的路径比如 1.3.7
要求是搜索 然后找出搜索结果的所有父级和子集 树状图显示 关键字标红
我的做法是
1.创建新数组 用来保存所有需要展示的数据的id 初始数据为查询到的id
2.先根据查询id找到所有父级 放在新数组
3.根据id查询所有子集id 这里可能是多个 我是循环 用array_unshift 放进新数组
4.给新数组的id去重(我这里最终组合的是一个一维数组)
5.循环数组id查询所有数据
6.进行分类组合
感谢回答的朋友 有更好的办法请分享出来 哈哈
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
击败分裂小说需要多长时间?
3 周前
By DDD
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
击败分裂小说需要多长时间?
3 周前
By DDD
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南

如何设置 Visual Studio Code (VS Code) 进行 PHP 开发
