如何在php中利用PHPTree生成一个无限级分类

  介绍

如何在php中利用PHPTree生成一个无限级分类?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

实现方法如下

& lt;及# 63;php   要求(& # 39;PHPTree.class.php& # 39;);//原始数据,从数据库读出   $ data=https://www.yisu.com/zixun/array (   阵列(   “id”=> 1,   “名字”=>“书”,   “parent_id”=> 0   ),   阵列(   “id”=> 2,   “名字”=>“音乐”,   “parent_id”=> 0   ),   阵列(   “id”=> 3,   “名字”=>“book1”,   “parent_id”=> 1   ),   阵列(   “id”=> 4,   “名字”=>“book2”,   “parent_id”=> 3   )   );      $ r=PHPTree: makeTree(元数据);   回声json_encode ($ r);      & # 63;>

输出:

,(
,,,,,,,{
,,,,,,,,,,,“id": 1、
,,,,,,,,,,,“name":“book",
,,,,,,,,,,,“parent_id": 0,
,,,,,,,,,,,“expanded":假的,//不展开子节点
,,,,,,,,,,,“children": [
,,,,,,,,,,,,,,,{
,,,,,,,,,,,,,,,,,,,“id": 3,
,,,,,,,,,,,,,,,,,,,“name":“book1",
,,,,,,,,,,,,,,,,,,,“parent_id": 1、
,,,,,,,,,,,,,,,,,,,“expanded":假的,
,,,,,,,,,,,,,,,,,,,“children": [
,,,,,,,,,,,,,,,,,,,,,,,{
,,,,,,,,,,,,,,,,,,,,,,,,,,,“id": 4,
,,,,,,,,,,,,,,,,,,,,,,,,,,,“name":“book2",
,,,,,,,,,,,,,,,,,,,,,,,,,,,“parent_id": 3,
,,,,,,,,,,,,,,,,,,,,,,,,,,,“leaf":真
,,,,,,,,,,,,,,,,,,,,,,,}
,,,,,,,,,,,,,,,,,,,]
,,,,,,,,,,,,,,,}
,,,,,,,,,,,]
,,,,,,,},
,,,,,,,{
,,,,,,,,,,,“id": 2,
,,,,,,,,,,,“name":“音乐”,
,,,,,,,,,,,“parent_id": 0,
,,,,,,,,,,,“leaf":真
,,,,,,,}
)

生成的数据就是树形结构了,可以结合ExtJS等前端框架来使用了.中包含了一个ExtJS的演示,大家可以参考。

演示:

如何在php中利用PHPTree生成一个无限级分类

如果不需要使用前端框架,只是用HTML输出,可以使用下面的方法:

$ r=PHPTree:: makeTreeForHtml(元数据),

得到一个一维数组,用水平字段来标识分类的层次:

阵列(   阵列(   & # 39;id # 39;=祝辞;1,   & # 39;名字# 39;=祝辞& # 39;用户管理& # 39;,   & # 39;parent_id& # 39;=祝辞0,   & # 39;水平# 39;=祝辞0//一级分类   ),   阵列(   & # 39;id # 39;=祝辞;1,   & # 39;名字# 39;=祝辞& # 39;用户列表& # 39;,   & # 39;parent_id& # 39;=祝辞;1,   & # 39;水平# 39;=祝辞1//二级分类   )   …   );

输出为选择标签:

如何在php中利用PHPTree生成一个无限级分类