




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Ztree + PHP 无限极节点 递归查找节点法2014-11-17 09:51 SlikeType oschina 字号:T | T用来查询数据库中,节点是否存在。就是存在子节点,就返回给子节点数组,有几个就加入子节点数组中,查询完了。然后一次性返回,他们就成了同级子节点了。AD: 2014WOT全球软件技术峰会北京站 课程视频发布 11月21日-22日 与WOT技术大会相约深圳 现在抢票 一、前言简单的描述一下,实习几个原理,思想,其实写很多东西,思想算是最重要的。1、目标:将写一个无限节点的树形目录结构,如下图步骤:1、你的下载 插件 ztree。然后布置在你的项目中。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提交数据,请求后台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).ready(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);/父节点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,children=$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,查询其子节点,在子节点中查询之后,用递归的方式继续查找子节点的子节点,直到最后查询完毕之后,返回数组给调用方法的父节点数组。然后再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. 先分析一下,这串数据,他有什么规律。你就会发现。其实很有规律。无限节点,其实就是每个json中,有children,而且6. 还有同级子节点。你先用固定数据 生成目录结构之后你就可以开始考虑,动态的向node传目录结构的数据了。就是我们后面所谓的 AJAX请求 PHP得到JSON数据,PHP处理中,我用的是递归算法,返回JSON数据。及完成了。目录结构。哦对了。1. $m=M(ztree);这句代码是thinkphp 实例化 数据操作对象的。用来查询数据库中,节点是否存在。就是存在子节点,就返回给子节点数组,有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电子版房产抵押借款合同2篇
- 新解读《GB-T 32606-2016文具用品中游离甲醛的测定方法 乙酰丙酮分光光度法》
- 酒店住房结算合同范本
- 小区车位交易合同范本
- 国内的生产合同范本
- 购房合同范本文案
- 外委项目研发合同范本
- 地板委托加工合同范本
- 花店双方合作合同范本
- 养鸡户合同范本
- 新能源汽车维护PPT完整全套教学课件
- 七年级数学开学第一课课件
- 市场营销学市场营销与市场营销学
- 四年级心理健康上册全册教案
- 石油钻采设备与工具专业标准分类
- GB/T 39725-2020信息安全技术健康医疗数据安全指南
- GB/T 13173-2021表面活性剂洗涤剂试验方法
- FZ/T 73044-2012针织配饰品
- 全套课件:机械基础
- 公安派出所建设标准
- 智慧矿山为未来煤矿发展赋能课件
评论
0/150
提交评论