PHPTree——php快速生成无限分类
它是PHPTree。
Git地址:https://git.oschina.net/jiusem/PHPTree.git
或者从我们这里下载//www . JB 51 . net/codes/606002 . html
最简单的例子:
?PHP require(' phptree . class . PHP ');//原始数据,read $ data=array (array ('id'=1,' name'=' book ',' parent _ id'=0),array ('id'=2,' name'=' music ',' parent _ id'=0),array $ r=phptree 3360: make tree($ data);echo JSON _ encode($ r);输出:
[{'id' : 1,' name' :' book ',' parent _ id' : 0,' expanded' : false,//不要展开子节点' children' : [{'id' : 3,' name ' : ']parent _ id ' : 1,' expanded ' 3: false,' children ' 3:[{ ' id ' 3: 4,' name ' 333: ' book 2 ','
生成的数据是一个树形结构,可以与ExtJS等前端框架结合使用。Git包含一个ExtJS的演示,你可以参考一下。
演示:
如果不需要使用前端框架,只需要输出HTML,可以使用以下方法:
$ r=phptree : MakeTreeForHTML($ data);
获取一维数组,并使用级别字段来标识分类级别:
数组(数组(' id'=1,' name'=' user management ',' parent_id'=0,' level'=0 //主分类),数组(' id'=1,' name'=' user list ',' parent _ id'=1,输出为选择标签:
Echo 'h1PHPTree树结构/h1 ';echo“select style=”width :300 px;'';foreach($ r as $ item){ echo ' option ';//缩进回声str _ repeat(' . ',$ item ['level'])根据其级别;echo $ item[' name '];echo '/option ';}回显'/select ';演示:
Git包含一个输出HTML的演示,你可以参考一下。
至于数据库的设计,只需要包含id和parent_id字段,其他字段可以自己添加,不影响数据生成。Parent_ID是父ID,如果是主分类,则设置为0。当然,字段也是可配置的。请继续往下看,我会介绍一些先进的使用方法。
展开子节点:
phptree : make tree($ data,array(' expanded '=true));输出数据为:
[{id:1,name:' book1 ',expanded:true,//展开子节点children 3360[.] }]
自定义主键和父键:
//数据库读取$ data=array (array ('order _ id'=1,//主键' name'='book1 ',' pid'=0,//父键.));phptree : make tree($ data,array('primary_key'='order_id ',' parent _ key '=' PID '));输出数据为:
[ { order_id:1,name:'book1 ',pid:0,}]
makeTreeForHtml方法还支持配置主键和父键。
还有其他可以自定义的字段,但是以下参数只支持makeTree方法:
$ r=phptree : make tree($ data,array('expanded_key'='expanded ',' children_key'='children ',' leaf _ key '=' leaf '));默认情况下,这些字段的配置基于ExtJS。如果使用zTree框架,这些字段需要重新配置。
ZTree是一个强大的国产树框架。它还支持简单的JSON格式,这是一种一维数据格式。其实PHPTree是不必要的。当然,PHPTree输出的数据有明确的层次感,zTree也支持。
版权声明:PHPTree——php快速生成无限分类是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。