一棵php的類樹(支援無限分類)
來源:互聯網
上載者:User
最近問無限分類的類樹問題比較多,所以一高興自己寫了一個,我剛寫完的,大家用用看,看看怎麼實現起來更快,更簡單,把你的樹也貼出來(要只查詢一次資料庫的)<br>
這是一棵分類列表的類樹, 支援無限分類<br>
一個分類下面可以同時有"包含子類的分類"和"最終分類";<br>
唯一的優點是*****只需要進行一次的資料庫*****查詢.<br>
樣子不是很好看,不過可以自訂修改,可以自己定義css加裡面<br>
緩衝方面還沒有作,可以自己補上
下面例子的目錄結構是這樣的。
¦--Catagory.php <br>
¦--images----tree.jsp <br>
¦--images----treeopen.gif <br>
¦--images----treeclose.gif <br>
¦--images----line.gif <br>
/****************tree.jsp********************/
function expand(id){
node = document.all('node'+id);
if(node.style.display==''){
node.style.display = 'none';
document.images('img'+id).src = imgopen;
}else{
node.style.display = '';
document.images('img'+id).src = imgclose;
}
}
/****************Catagory.php********************/
<?php
define('CATAGORY_TREE_EXPEND_NONE',0);
define('CATAGORY_TREE_EXPEND_ALL',1);
class Catagory{
//基礎分類資料
var $treeData = array();
//分類的等級結構數組,以分類的id值作為數組的關鍵字
var $treePList = array();
//自分類對應上級類的關係
var $treeCList = array();
/*
* 這個是大分類的模板
*
* __id__ 分類的編號
* __name__ 分類的名稱
* __image__ 分類前面顯示的映像名稱 $imgOpen or $imgClose
* __open__ 分類當前是否是展開的
* __inner__ 子分類顯示的位置