效果:計算機作業系統
|-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.這裡講解的是針對是只要通過資料庫進行的分類欄目,所以首先就是設計你的資料庫字段 這個是為了欄目過多的時候方便理清最終的根欄目...