首頁 >後端開發 >php教程 >分類推進事業單位改革的意見 自己前幾天寫的無限分類類

分類推進事業單位改革的意見 自己前幾天寫的無限分類類

WBOY
WBOY原創
2016-07-29 08:36:17893瀏覽

前一周寫的吧,使用中效果還不錯。
 主要思想來自:http://www.phpobject.net/b...[url=http://www.phpobject.net/blog/read.php?49][/url]
  這裡就不多解釋原理了,直接發程式碼。
  PS:這裡程式碼是不能直接使用的,必須結合我的一些其他函式庫類別。應該說思想才是最重要的,這裡主要提供一個分類的想法。

複製程式碼 程式碼如下:


 
/**
--  
-- 表的結構 `daxue8_category` 
--  
CREATE TABLE `daxue8_category` (p生活 - 🎜>  `pid` Smallint(6) NOT NULL 預設 '0', 
  `level` Smallint(6) NOT NULL 預設 '0', 
  `cname` char(64)0', 
  `cname` char(64) Smallint(6) NOT NULL 預設值'0', 
  `rgt` smallint(6) NOT NULL 預設 '0', 
  `uid`mediumint(8)(8)   `ctime` int(10) NOT NULL 預設 '0', 
  `cstate` tin gnum ` mediumint(8) NOT NULL 預設 '0', 
  `orderstyle` smallint(3) NOT NULL 預設 '0',  --  
--匯出表中的資料 `daxue8_category` 
--  
INSERT INTO `daxue8_category` '管理員', 1163608814, 1, 0, 0); 
*/ 
class category 

    var egory() 
    { 
        $this->tbname=TB_PREX.'_category'; 
 🎜>    /** 
      * 增加子節點 
      * @param array $node 待增加子節點的屬性*    */ 
    function add($node,$pid){ 
        //檢查上該節點   pid.' and cname=''.$node['cname'].''')){ 
            //$this->error(__FUNCTION__.'():該節點 '.$node[cname' ].'已經存在!   } 
        //取得父節點資訊 
        $pnode =$this-> 說明where lft>'.$pnode['rgt']); 
        $this->module->query('update `'.$this->tbname.'` set .$pnode['rgt']); 
        //插入新節點 
        $node['pid']=$pid; 
        $node['lft']=$pnode['rgt'] ; 
        $node['rgt']=$pnode['rgt']+1; 
        $node['level']=$pnode['level. >        return $this->module->add($node); 
    } 
    /**  $cid 待刪除的節點的ID 
      * @ param $delete_childern 如果該節點存在子節點,是否強制刪除。設定未true,則當存在子節點的時候,刪除失敗,回傳false 
      * 
    */ 
            //取得節點資訊 
        $node=$this->get_by_cid($cid); 
        if(($this->child_num($node)>0)($node)>0)&ete($)$4]]($node)>0)($node)>0]]($node)_$one]($node)>0)($node)&fete($)($D)$($node)>0)($node)>0)($node)_$one]]($node)>0)($node)>0)($node)&fete($node)>($connode)>0)($node)>0)&ete($)$D]]($node)>0)($node)>0)&ete($del__F]; .'():該節點存在子節點!'); 
        //刪除該節點及其所有子節點 
     bet  $this->module->delete('where lft between $this->module->delete('where lft noween '.$node '$.de)[]]]$.nodeween ' rgt']); 
        //修改對應的左右鍵值 
        $plus=$node['r  query('update `'.$this->tbname.'` set lft=lft-'.$plus.' where lft>'.$node['rgt']); 
   query('update `'.$this->tbname.'` set rgt=rgt-'.$plus.' where rgt>'.$node['rgt']); 
     
    /** 
      * 更新一個節點 
      * @param array $set更新集 
  */ 
    function update($set,$cid){ 
      
    } 
    /** 
      * 選取節點及其子節點 
      * @param int $cid節點的主鍵ID */ 
    function select($cid,$deep  🎜>        $node=$this- >get_by_cid($cid); 
        $where='where lft between '.$node['lft'].' and '.$node['rft); )$where.=' and level        if($deep==1){          }else{ 
            $where.=' order by lft   } 
        return $this->module->select($where); 
    } 
   🎝>*/ 
    function get_parent($cid) 
    { 
      return $this->module->select('where lft='.$node['rgt'].' order by lft asc'); 
    } 
    /** 
      * 選取子節點 
      * @param int $cid節點的主鍵ID      function get_children($pid,$deep=0){ 
    by_cid($pid) ; 
        $where='where lft>'.$pnode['lft'].' 和 rgt        if(!empty($deep))$where.=' 且 level        if($deep==1){ 
            $where.=' order by orderstyle desc'; 
        }else{ 
            $where.=' order by l闠asc';             
        } 
        return $this->module->select($where); 
    } 
    /** 
      * 取得第deep層子節點 
      * @param int $cid節點的主鍵ID */ 
    function get_level_children($p     $pnode=$this->get_by_cid($process號); 
        $where='where lft>'.$pnode['lft'].'  與rgt ($pnode['level']+$deep); 
        $where.='依orderstyle desc 排序'; 
      🎜 >    /** 
      * 取得節點資訊 
      * @param $cid 節點主鍵ID */ 
    函數get_by_cid($cid){ 
        $node=$this->$nodetail()0.e    if(! $node)$this->error(__FUNCTION__.'():取得節點'.$cid.'失敗!'); 
        return $node; 
    } 
    /**    } 
    /** 
      * 取得子節點的數目 
      * @param array $node 節點資訊與 */ 
    function display($cid) $nodes=$this->select ($cid); 
        foreach($nodes as $node){ 
           
        } 
    } 
/*-------private------------------------------ -----*/ 
    function error($msg){ 
        die('ERROR : file ). 🎜>? > 


以上就介紹了分類推進事業單位改革的意見 自己前幾天寫的無限分類類,包括了分類推進事業單位改革的意見方面的內容,希望對PHP教程有興趣的朋友有所幫助。


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn