亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHPTree——php快速生成無限級分類

2024-05-05 00:03:00
字體:
來源:轉載
供稿:網友

它就是PHPTree。

git地址:https://git.oschina.net/jiusem/PHPTree.git

最簡單的例子:

<?php require('PHPTree.class.php');//原始數據, 從數據庫讀出$data = array(	array(		'id'=>1,		'name'=>'book',		'parent_id'=>0	),	array(		'id'=>2,		'name'=>'music',		'parent_id'=>0	),	array(		'id'=>3,		'name'=>'book1',		'parent_id'=>1	),	array(		'id'=>4,		'name'=>'book2',		'parent_id'=>3	));$r = PHPTree::makeTree($data);echo json_encode($r);?>

輸出:

  [
        {
            "id": 1,
            "name": "book",
            "parent_id": 0,
            "expanded": false, //不展開子節點
            "children": [
                {
                    "id": 3,
                    "name": "book1",
                    "parent_id": 1,
                    "expanded": false,
                    "children": [
                        {
                            "id": 4,
                            "name": "book2",
                            "parent_id": 3,
                            "leaf": true
                        }
                    ]
                }
            ]
        },
        {
            "id": 2,
            "name": "music",
            "parent_id": 0,
            "leaf": true
        }
]

生成的數據就是樹形結構了,可以結合ExtJS等前端框架來使用了。git中包含了一個ExtJS的demo,大家可以參考。

演示:

PHPTree,php無限級分類

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

$r = PHPTree::makeTreeForHtml($data);

得到一個一維數組,用 level 字段來標識分類的層次:

array( array(  'id'=>1,  'name'=>'用戶管理',  'parent_id'=>0,  'level'=>0 //一級分類 ), array(  'id'=>1,  'name'=>'用戶列表',  'parent_id'=>1,  'level'=>1 //二級分類 ) ....);

輸出為select標簽:

echo '<h1>PHPTree樹形結構</h1>';echo '<select style="width:300px;">';foreach($r as $item){	echo '<option>';	//根據所在的層次縮進	echo str_repeat('......',$item['level']);	echo $item['name'];	echo '</option>';}echo '</select>';

演示:

PHPTree,php無限級分類

git中包含了一個輸出HTML的demo,大家可以參考。

關于數據庫的設計,只需要保證包含 id 和 parent_id 字段即可,其他字段可以自行添加,不會影響數據生成。parent_id是父級ID,如果是一級分類,就設為 0 。當然,字段也是可以配置的。請繼續往下看,我將介紹一些進階的使用方法。

展開子節點:

PHPTree::makeTree( $data, array( 'expanded' => true));

輸出的數據為:

[
        {
            id:1,
            name:'book1',
            expanded:true,//展開子節點
            children:[
                ...
            ]
        }
]

自定義主鍵和父鍵:

//數據庫讀出$data = array( array(  'order_id'=>1, //主鍵  'name'=>'book1',  'pid'=>0, //父鍵  ... ));PHPTree::makeTree( $data, array( 'primary_key' => 'order_id', 'parent_key' => 'pid'));

輸出的數據為:

[
        {
            order_id:1,
            name:'book1',
            pid:0,
            ...
        }
]

makeTreeForHtml 方法也支持配置主鍵和父鍵。

還有其他字段也可以自定義,但下面這些參數僅支持 makeTree 方法:

$r = PHPTree::makeTree($data, array( 'expanded_key' => 'expanded', 'children_key' => 'children', 'leaf_key'  => 'leaf'));

默認,這些字段的配置都是以ExtJS為參考的,如果你使用zTree框架的話,這些字段就需要重新配置了。

zTree 是一款強大的國產樹形框架,它還支持 簡單JSON格式,是一維數據格式,實際上就不需要用到PHPTree了。當然,PHPTree輸出的數據層次感清晰,zTree也是支持的。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品视频免费观看www| 国产精品主播视频| 日本欧美一二三区| 奇门遁甲1982国语版免费观看高清| 久久夜精品va视频免费观看| 18性欧美xxxⅹ性满足| 欧美日韩精品在线| 精品无人区太爽高潮在线播放| 中文字幕日韩免费视频| 欧美亚洲午夜视频在线观看| xxxxx91麻豆| 午夜美女久久久久爽久久| www.99久久热国产日韩欧美.com| 国产精品高潮呻吟久久av野狼| 欧美小视频在线观看| 成人字幕网zmw| 国产精品欧美在线| 蜜月aⅴ免费一区二区三区| 亚洲一区二区三区乱码aⅴ蜜桃女| 精品精品国产国产自在线| 国产成人精品综合久久久| 亚洲精品女av网站| 久久久久久久电影一区| 欧美成人亚洲成人日韩成人| 国产亚洲一区二区在线| 懂色av影视一区二区三区| 91wwwcom在线观看| 久久精品99久久久香蕉| 国产香蕉一区二区三区在线视频| 亚洲成人精品视频在线观看| 97成人精品视频在线观看| 这里只有精品视频| 日韩一二三在线视频播| 日韩免费在线观看视频| 国产亚洲福利一区| 欧美亚洲国产视频| 精品在线欧美视频| 日韩中文娱乐网| 4k岛国日韩精品**专区| 欧美成人中文字幕| 成人xxxx视频| 成人网在线视频| 日韩精品视频免费在线观看| 欧美日本啪啪无遮挡网站| 久久精品最新地址| zzijzzij亚洲日本成熟少妇| 色婷婷成人综合| 亚洲人成电影网| 最近2019好看的中文字幕免费| 最新国产成人av网站网址麻豆| 中文字幕国产精品久久| 日韩精品在线电影| 成人综合国产精品| 亚洲欧美精品suv| 国产精品极品在线| 欧美又大粗又爽又黄大片视频| 国产视频精品一区二区三区| 中文字幕精品网| 日韩欧美国产视频| 欧美日韩国产二区| 欧美国产视频一区二区| 日本一区二区三区在线播放| 亚洲精品久久久一区二区三区| 精品久久久免费| 欧美成人免费在线观看| 亚洲第一福利在线观看| 青草热久免费精品视频| 久久精品99无色码中文字幕| 美女扒开尿口让男人操亚洲视频网站| 亚洲乱码国产乱码精品精天堂| 大量国产精品视频| 亚洲精品一区中文| 亚洲成人在线网| 国产成人在线播放| 97国产精品久久| 国产精品日韩一区| 国内免费久久久久久久久久久| 精品国产鲁一鲁一区二区张丽| 亚洲一区二区三区视频| 黄色一区二区三区| 久久久久久999| 久久精品电影网| 国产精品91久久久久久| 欧美激情精品久久久久久变态| 久久久久久av| 欧美黑人国产人伦爽爽爽| 国产日韩精品视频| 一区二区欧美亚洲| 亚洲人在线视频| 亚洲成av人影院在线观看| 久久九九精品99国产精品| 国产黑人绿帽在线第一区| 亚洲第一男人av| 国产视频精品一区二区三区| 中文字幕日韩欧美精品在线观看| 国产精品成人一区| 欧美午夜激情在线| 国产精品美女网站| 日韩欧美精品网站| 欧美精品18videosex性欧美| 欧美日韩亚洲一区二| 欧美成人手机在线| 欧美xxxx做受欧美| 精品福利樱桃av导航| 国产成人免费av| 久久久久久com| 国产精品wwwwww| 亚洲第一福利在线观看| 国内精品小视频在线观看| 国产欧美一区二区三区久久| 日韩在线观看免费网站| 国产91在线播放| 国产精品视频在线观看| 亚洲自拍偷拍色图| 国产精品在线看| 国产视频在线一区二区| 亚洲国产中文字幕久久网| 伊人久久精品视频| 国产精品高精视频免费| 亚洲激情视频网| 精品视频—区二区三区免费| 成人av在线天堂| 国产精品美女在线观看| 亚洲欧美日韩爽爽影院| 国产精品入口福利| 综合av色偷偷网| 欧亚精品中文字幕| 欧美专区福利在线| 在线观看不卡av| 亚洲欧美国内爽妇网| 亚洲成av人片在线观看香蕉| 久久国产精品99国产精| 在线日韩精品视频| 久久99精品国产99久久6尤物| 欧美激情一二区| 成人黄在线观看| 91精品视频免费| 欧美性高潮在线| 欧美国产精品va在线观看| 一区二区福利视频| 国产精品成人国产乱一区| 中文字幕亚洲天堂| 久久久久久久久久久人体| 成人激情在线观看| 性欧美暴力猛交69hd| 日韩在线观看免费av| 亚洲一区二区三区四区视频| 亚洲а∨天堂久久精品9966| 欧美精品免费在线观看| 欧美精品18videos性欧| 国产精品亚洲精品| 亚洲精品国产suv| 狠狠爱在线视频一区| 欧美大片欧美激情性色a∨久久| 精品视频在线导航| 日韩最新在线视频| 韩剧1988在线观看免费完整版| 久久深夜福利免费观看| 亲爱的老师9免费观看全集电视剧| 日日狠狠久久偷偷四色综合免费| 国产一区视频在线| 欧美激情乱人伦| 欧美日本黄视频| 国产精品人成电影在线观看|