程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php 樹型結構操作類代碼(1/4)

php 樹型結構操作類代碼(1/4)

編輯:關於PHP編程

樹型結構是很多程序會員會用到的,上面這款關於樹型結構操作類,很好的解決了這個問題哦。

/php教程 樹型結構操作類代碼
/***************************************************************
* 樹型結構操作類(如果可以寫成存儲過程最理想)
*
*  ***************************************************************/

class treenode {
        var $f_id = 'id';
        var $f_pid = 'pid';
        var $f_lft = 'lft';
        var $f_rgt = 'rgt';
        var $f_s = 'sequence';
        var $f_level = 'lev';
        var $f_child_num = 'child_num';
        var $table;
        var $db;
        /**
         * 構造函數
         * @param string $table 表名
         * @param object $dbhanle adodb數據庫教程操作句柄
         */
        function treenode($table, $dbhandle) {
                $this->db = $dbhandle;
                $this->table = $table;
                //$this->db->debug = true;
        }
        /**
         * 增加子節點
         * @param array $data 節點數據
         * @return bool
         */
        function addchild($data){
                $pid = $data[$this->f_pid];
                $sql = "select max({$this->f_s}) from {$this->table} where {$this->f_pid}=$pid";
                $data[$this->f_s] = $this->db->getone($sql) + 1;//得到待插入節點的序號
                $sql = "select * from {$this->table} where {$this->f_id} = -1";
                $rs = $this->db->execute($sql);
                $sql = $this->db->getinsertsql($rs, $data);
                $this->db->execute($sql); //插入節點數據
                if(!$this->db->affected_rows()){
                        return false;
                }
               
                $this->buildtree(1,1);        //重建節點左右值
                $this->updatelevel(1);        //生成節點級數值
                return true;
        }
        /**
         * 修改節點的數據
         * @param int $id 節點id號
         * @param array $data 節點數據
         * @return bool
         */1 2 3 4

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved