ZtreePHP无限极节点递归查找节点法

上传人:公**** 文档编号:495039692 上传时间:2023-01-20 格式:DOCX 页数:5 大小:22.12KB
返回 下载 相关 举报
ZtreePHP无限极节点递归查找节点法_第1页
第1页 / 共5页
ZtreePHP无限极节点递归查找节点法_第2页
第2页 / 共5页
ZtreePHP无限极节点递归查找节点法_第3页
第3页 / 共5页
ZtreePHP无限极节点递归查找节点法_第4页
第4页 / 共5页
ZtreePHP无限极节点递归查找节点法_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《ZtreePHP无限极节点递归查找节点法》由会员分享,可在线阅读,更多相关《ZtreePHP无限极节点递归查找节点法(5页珍藏版)》请在金锄头文库上搜索。

1、文档供参考,可复制、编制,期待您的好评与关注! Ztree + PHP 无限极节点 递归查找节点法2014-11-17 09:51 SlikeType oschina 字号:T | T用来查询数据库中,节点是否存在。就是存在子节点,就返回给子节点数组,有几个就加入子节点数组中,查询完了。然后一次性返回,他们就成了同级子节点了。AD: 2014WOT全球软件技术峰会北京站 课程视频发布 11月21日-22日 与WOT技术大会相约深圳 现在抢票 一、前言简单的描述一下,实习几个原理,思想,其实写很多东西,思想算是最重要的。1、目标:将写一个无限节点的树形目录结构,如下图步骤:1、你的下载 插件 z

2、tree。然后布置在你的项目中。1. 2. 2、相关CSS1. 2. 以上CSS 和JS 以你自己的为准。3、目录结构DIV1. 2. 3. 4. 5. 6. 4,自己单独js中的代码1. 里面写的相关功能 及配置!1. /配置项2. varsetting=3. isSimpleData:true,/数据是否采用简单Array格式,默认false性4. showLine:true,/是否显示节点间的连线5. checkable:true,6. callback:7. onClick:zTreeOnClick8. 9. ;10. 11. varzNodes;/数据变量12. 13. /ajax提

3、交数据,请求后台PHP处理返回出目录结构json数据14. $.ajax(15. url:/admin.php/Ztree,16. type:get,17. async:false,18. dataType:json,19. success:function(data)20. /alert(data);21. zNodes=data;/将请求返回的数据存起来22. /alert(zNodes);23. ,24. error:function()/请求失败处理函数25. alert(请求失败);26. ,27. )28. 29. /初始化ztree目录结构视图!30. $(document).r

4、eady(function()31. /alert(111);32. $.fn.zTree.init($(#treeDemo),setting,zNodes);33. );5、后台PHP 递归算法,从数据库中查找目录结构并且生成 JSON数据地址:如4中,AJAX所请求的 【/admin.php/Ztree】我这里是用的ThinkPHP框架,所以url是这个样子,以你自己的接口文件为准!1. 函数库查询,children=$this-SelectSon(1);/父节点Pid=1;5. $arr_str1=array(name=数据库查询,children=$this-SelectSon(2);

5、/父节点Pid=2;6. 7. array_push($arr,$arr_str0);8. array_push($arr,$arr_str1);/这里是2个父节点。9. 10. echo(json_encode($arr);/这是最后返回给页面,也就是返回给AJAX请求后所得的返回数据JSON数据11. ?12. 13. /这里仅仅是一个方法,一个调用SelectSon()方法,返回一个数组集合!但其中用的是递归!14. where(Pid=$Pid)-select()/查找该父ID下的子ID21. 22. $data=array();23. for($i=0;$i$info$iname,c

6、hildren=$this-SelectSon($info$iid);/递归算法!26. 27. array_push($data,$da);/加入子节点数组28. ;29. 30. return$data;/一次性返回子节点数组,他们成为同级子节点。31. 32. else33. 34. returnnull;35. 36. 37. 38. ?注意:由于我是用的thinkphp框架。所以在方法调用上 有些不同,纯PHP文件中,思路应该是一样的,首先是: 写一个数组。一个父节点的数组。其次: 写一个方法,传递的参数是 父节点的ID,查询其子节点,在子节点中查询之后,用递归的方式继续查找子节点的

7、子节点,直到最后查询完毕之后,返回数组给调用方法的父节点数组。然后再1. echo(json_encode($arr);转码成 JSON 将其输出,以便于AJAX异步访问,得到JSON数据。得到之后,回到刚刚的JS功能代码中,直接初始化树目录结构,将其JSON数据传入OK。总结:其主要思想分2步走。第一步,是如何能把目录生成出来。先测试时,可以用静态数据。类似于1. varnode=2. name:父节点,children:name:子节点,children:null,name:同级子节点,children:null3. 4. 5. 先分析一下,这串数据,他有什么规律。你就会发现。其实很有规律

8、。无限节点,其实就是每个json中,有children,而且6. 还有同级子节点。你先用固定数据 生成目录结构之后你就可以开始考虑,动态的向node传目录结构的数据了。就是我们后面所谓的 AJAX请求 PHP得到JSON数据,PHP处理中,我用的是递归算法,返回JSON数据。及完成了。目录结构。哦对了。1. $m=M(ztree);这句代码是thinkphp 实例化 数据操作对象的。用来查询数据库中,节点是否存在。就是存在子节点,就返回给子节点数组,有几个就加入子节点数组中,查询完了。然后一次性返回,他们就成了同级子节点了。【编辑推荐】1. 2014年10款有用的PHP测试框架 2. 9个必须时刻警惕的PHP命令&代码 3. PHP八大安全函数解析 4. 理解 PHP 中的 Streams /

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号