乙個無限分類類

2021-08-31 11:06:31 字數 2091 閱讀 5796

這個是經過本人實踐確實可以使用的。

先說下表結構。一共三個欄位iclassid,iparentid,cclassname;

乙個是分類的id,乙個是父id,乙個是分類的名字,

下面是**:

<?php

class tree

$this->sortasc();

}//設定樹的節點

function setnode($id, $parent, $value)

/** 遞迴實現

* 得到id下的子樹結構陣列(用多維陣列格式來表示樹)

* id internet 節點id (0表示的是根節點,是虛擬的,即沒有與它對應的實際資訊)

* return array 子樹節點陣列

*/function getchildstree($id=0)

}return $childs;}/*

* 遞迴實現

* 得到id節點的所有後代節點

* $id

* return array 索引=>id,...一維陣列(順序important)

*/function getchilds($id=0)

return $childarray;}/*

* 得到id節點的孩子節點

* $id

* return array 索引=>id,...一維陣列

*/function getchild($id)

}return $childs;}/*

* 遞迴實現

* 反線獲得節點id的父節點

* $id interger 不可以為0

* return array 其父節點陣列

*/function getnodelever($id)

return $parents;}/*

* 根據所在層數得到n-1個前導格式化符號

* $id internet 不可以取0

* $prestr str 填充的格式化符號

* return str 多個格式化符號

*/function getlayer($id,$prestr='|-')

//得到id節點的資訊

function getvalue ($id)

/** id降序

*/function sortdes()

/** id公升序

*/function sortasc()

//下拉列表框樣式,

function select($cid = 0)

else

}return $this->view;

}//**樣式

function view()

return $this->view;

}//endallfunc所有函式結束

}?>

require("tree.php");

mysql_connect('localhost','root','');

mysql_select_db('test');

mysql_query('set names utf8');

$result = mysql_query("select * from t_class");

$data = array();

while ($row = mysql_fetch_array($result))

$t = new tree($data);

this->assign('class',$t->view());//**樣式,主要是用來編輯和刪除分類

$this->assign('sclass',$t->select($id));//這裡需要傳乙個父id,當編輯的時候,以便標識此分類所在的父分類為選中狀態,如果為0 則顯示的是分部分類

$this->display();

//**樣式

---根分類---

//下拉列表樣式

最終效果如圖:

[img]

[img]

這樣乙個無限分類

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...

乙個無限極分類的類(遞迴的思想)

無限極分類 類 header content type text html charset utf 8 class category return arr 組合多維陣列 static public function unlimitedforlayer cate,name child pid 0 re...

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

效果 計算機作業系統 linux 系統 linux相關 linuxpig.com linux.org windows 系統 探險 52risk.com 資料的儲存結構是這樣的 id,pid,name 解釋 id為自身編號,pid為父分類的編號 如果根則為0 name 為分類名稱 無限分類的思想 也就...