乙個好用的php 實現無限分類的方法

2021-08-25 15:57:34 字數 1230 閱讀 6742

效果:計算機作業系統

|-linux 系統

|–linux相關**

|—linuxpig.com

|—linux.org

|-windows 系統

探險|-52risk.com

資料的儲存結構是這樣的:

id,pid,name

解釋:id為自身編號,pid為父分類的編號(如果根則為0),name 為分類名稱

無限分類的思想:

也就是用乙個陣列來表示乙個樹形的結構的方法,基本思路是結果陣列 tree 中,所有根元素放到 tree[0] 中。二級欄目(根元素的子)放到 tree[1] 中,第n層次的元素的子元素放到 tree[n] 當中。

具體實現:

<?php

/*** @author: huliang

* @description: 無限分類示例

**/header('content-type: text/html; charset=gb2312');

//模擬資料格式,實際應用中可能資料來自於資料庫

$array = array("id"=>1,"pid"=>0,"name"=>"計算機作業系統");

$array = array("id"=>2,"pid"=>0,"name"=>"探險");

$array = array("id"=>3,"pid"=>1,"name"=>"linux 系統");

$array = array("id"=>4,"pid"=>1,"name"=>"windows 系統");

$array = array("id"=>5,"pid"=>3,"name"=>"linux相關**");

$array = array("id"=>6,"pid"=>5,"name"=>"linuxpig.com");

$array = array("id"=>7,"pid"=>5,"name"=>"linux.org");

$array = array("id"=>8,"pid"=>2,"name"=>"52risk.com");

showcategory($array);

function showcategory($array)

}//遍歷輸出根分類

foreach($tree[0] as $k=>$v)

}function drawtree($arr,$tree,$level)

}?>

具體專案中可能樣式和資料**需要調整,有什麼問題聯絡我一起研究。

這樣乙個無限分類

class m label foreach label as row row str substr row str,0,strlen row str 2 layer arr explode row layer colum label str new label foreach layer arr a...

乙個無限分類類

這個是經過本人實踐確實可以使用的。先說下表結構。一共三個欄位iclassid,iparentid,cclassname 乙個是分類的id,乙個是父id,乙個是分類的名字,下面是 class tree this sortasc 設定樹的節點 function setnode id,parent,val...

PHP的無限欄目分類

自己在php的無線欄目分類上面就是搞了很久都沒有明白,所以現在是趁著記憶力還沒有完全的消退的時候速度的記錄下來 這裡講解的是最簡單的樹形欄目,適合的是小中型的欄目分類需求 1.這裡講解的是針對是只要通過資料庫進行的分類欄目,所以首先就是設計你的資料庫字段 這個是為了欄目過多的時候方便理清最終的根欄目...