php无限级分页代码

phpInfiniti级分页代码class Tree{ public $data=array(); public
$cateArray=array(); function Tree() { } function setNode ($id, $parent,
$value) { $parent = $parent?$parent:0; $this-data[$id] = $value;
$this-cateArray[$id] = $parent; } function getChildsTree($id=0) {
$childs=array(); foreach ($this-cateArray as $child=$parent) { if
($parent==$id) { $childs[$child]=$this-getChildsTree($child); } }
return $childs; } function getChilds($id=0) { $childArray=array();
$childs=$this-getChild($id); foreach ($childs as $child) {
$childArray[]=$child;
$childArray=array_merge($childArray,$this-getChilds($child)); } return
$childArray; } function getChild($id) { $childs=array(); foreach
($this-cateArray as $child=$parent) { if ($parent==$id) {
$childs[$child]=$child; } } return $childs; } //单线获取父节点
function getNodeLever($id卡塔尔(قطر‎ { $parents=array(卡塔尔国; if
(key_exists($this-cateArray[$id],$this-cateArray)) {
$parents[]=$this-cateArray[$id];
$parents=array_merge($parents,$this-getNodeLever($this-cateArray[$id]));
} return $parents; } function getLayer($id,$preStr=’|-‘) { return
str_repeat($preStr,count($this-getNodeLever($id))); } function getValue
($id) { return $this-data[$id]; } // end func}/*$Tree = new
Tree(请选用分类State of Qatar;//setNode(目录ID,上级ID,目录名字卡塔尔;$Tree-setNode(1, 0,
‘目录1’卡塔尔国;$Tree-setNode(2, 1, ‘目录2’卡塔尔(قطر‎;$Tree-setNode(5, 3,
‘目录5’State of Qatar;$Tree-setNode(3, 0, ‘目录3’卡塔尔国;$Tree-setNode(4, 2,
‘目录4’卡塔尔(قطر‎;$Tree-setNode(9, 4, ‘目录9’卡塔尔国;$Tree-setNode(6, 2,
‘目录6’卡塔尔国;$Tree-setNode(7, 2, ‘目录7’State of Qatar;$Tree-setNode(8, 3,
‘目录8’State of Qatar;//print_r($Tree-getChildsTree(0));//print_r($Tree-getChild(0));//print_r($Tree-getLayer(2State of Qatar卡塔尔;$category
= $Tree-getChilds(State of Qatar;//遍历输出foreach ($category as $key=$id卡塔尔国{ echo
$id.$Tree-getLayer($id, ‘|-‘卡塔尔.$Tree-getValue($id卡塔尔国./n;}*/?

复制代码 代码如下:
/**
 * @author        YangHuan
 * @datetime    
 * @version        1.0.0
 */

/**
 * Short description.
 *
 * Detail description
 * @author       
 * @version      1.0
 * @copyright    
 * @access       public
 */
class Tree
{
    /**
     * Description
     * @var       
     * @since     1.0
     * @access    private
     */
    var $data    = array();

    /**
     * Description
     * @var       
     * @since     1.0
     * @access    private
     */
    var $child    = array(-1=>array());

    /**
     * Description
     * @var       
     * @since     1.0
     * @access    private
     */
    var $layer    = array(-1=>-1);

    /**
     * Description
     * @var       
     * @since     1.0
     * @access    private
     */
    var $parent    = array();

    /**
     * Short description. 
     *
     * Detail description
     * @param      none
     * @global     none
     * @since      1.0
     * @access     private
     * @return     void
     *澳门新葡亰娱乐官网, @update     date time
    */
    function Tree ($value)
    {
        $this->setNode(0, -1, $value);
    } // end func

    /**
     * Short description. 
     *
     * Detail description
     * @param      none
     * @global     none
     * @since      1.0
     * @access     private
     * @return     void
     * @update     date time
    */
    function setNode ($id, $parent, $value)
    {
        $parent = $parent?$parent:0;

        $this->data[$id]            = $value;
        $this->child[$id]            = array();
        $this->child[$parent][]        = $id;
        $this->parent[$id]            = $parent;

        if (!isset($this->layer[$parent]))
        {
            $this->layer[$id] = 0;
        }
        else
        {
            $this->layer[$id] = $this->layer[$parent] + 1;
        }
    } // end func

    /**
     * Short description. 
     *
     * Detail description
     * @param      none
     * @global     none 
     * @since      1.0
     * @access     private
     * @return     void
     * @update     date time
    */
    function getList (&$tree, $root= 0)
    {
        foreach ($this->child[$root] as $key=>$id)
        {
            $tree[] = $id;

            if ($this->child[$id]) $this->getList($tree, $id);
        }
    } // end func

    /**
     * Short description. 
     *
     * Detail description
     * @param      none
     * @global     none
     * @since      1.0
     * @access     private
     * @return     void
     * @update     date time
    */
    function getValue ($id)
    {
        return $this->data[$id];
    } // end func

    /**
     * Short description. 
     *
     * Detail description
     * @param      none
     * @global     none
     * @since      1.0
     * @access     private
     * @return     void
     * @update     date time
    */
    function getLayer ($id, $space = false)
    {
        return $space?str_repeat($space,
$this->layer[$id]):$this->layer[$id];
    } // end func

    /**
     * Short description. 
     *
     * Detail description
     * @param      none
     * @global     none
     * @since      1.0
     * @access     private
     * @return     void
     * @update     date time
    */
    function getParent ($id)
    {
        return $this->parent[$id];
    } // end func

    /**
     * Short description. 
     *
     * Detail description
     * @param      none
     * @global     none
     * @since      1.0
     * @access     private
     * @return     void
     * @update     date time
    */
    function getParents ($id)
    {
        while ($this->parent[$id] != -1)
        {
            $id = $parent[$this->layer[$id]] =
$this->parent[$id];
        }

        ksort($parent);
        reset($parent);

        return $parent;
    } // end func

    /**
     * Short description. 
     *
     * Detail description
     * @param      none
     * @global     none
     * @since      1.0
     * @access     private
     * @return     void
     * @update     date time
    */
    function getChild ($id)
    {
        return $this->child[$id];
    } // end func

    
    /**
     * Short description. 
     *
     * Detail description
     * @param      none
     * @global     none
     * @since      1.0
     * @access     private
     * @return     void
     * @update     date time
    */
    function getChilds ($id = 0)
    {
        $child = array($id);
        $this->getList($child, $id);

        return $child;
    } // end func
} // end class

?>

接纳方法

PHP代码:

复制代码 代码如下:
//new Tree(根目录的名字State of Qatar;
//根目录的ID自动分配为0
$Tree = new Tree(‘根目录’);

//setNode(目录ID,上级ID,目录名字State of Qatar;
$Tree->setNode(1, 0, ‘目录1’);
$Tree->setNode(2, 0, ‘目录2’);
$Tree->setNode(3, 0, ‘目录3’);
$Tree->setNode(4, 3, ‘目录3.1’);
$Tree->setNode(5, 3, ‘目录3.2’);
$Tree->setNode(6, 3, ‘目录3.3’);
$Tree->setNode(7, 2, ‘目录2.1’);
$Tree->setNode(8, 2, ‘目录2.2’);
$Tree->setNode(9, 2, ‘目录2.3’);
$Tree->setNode(10, 6, ‘目录3.3.1’);
$Tree->setNode(11, 6, ‘目录3.3.2’);
$Tree->setNode(12, 6, ‘目录3.3.3’);

//getChilds(钦赐目录ID卡塔尔;
//获得钦点目录下级目录.若无一些名目录就由根目录开首
$category = $Tree->getChilds();

//遍历输出
foreach ($category as $key=>$id)
{
    echo $Tree->getLayer($id, ‘|-‘).$Tree->getValue($id).”
n”;
}

PHPInfiniti分类-PHP100代码

复制代码 代码如下:
//Infiniti分类,从子类找全体父类
//$id 子类ID
 function php100_xd($id){
   $sql=”select * from fl where id=’$id'”;
   $q=mysql_query($sql);
   $rs=mysql_fetch_array($q);
   $rs[‘fid’]==0 ? “” : fl($rs[‘fid’]);
   echo $rs[‘name’].”-“;
   }

//读取全数父类下边包车型客车子类
//$f一级分类从哪些最早,$s样式
 function php100_dx($f=0,$s=””){
   $sql=”select * from fl where fid=$f”;
   $q=mysql_query($sql);
   $s=$s.”-“;
   while($rs=mysql_fetch_array($q)){
     echo “
$s”.$rs[‘name’];
  flt($rs[‘id’],$s);
     }
   }

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图