牛骨文教育服务平台(让学习变的简单)
博文笔记

树形无限极分类下拉框选项

创建时间:2015-10-26 投稿人: 浏览次数:417
protected $_nodeSelect;
//生成树形无限极分类下拉框选项
    protected function _tree($array, $parentId=0, $tmp="", $pid=0, $path=""){
        $tmp .= "    ";
        $path .= $pid ? $pid . "-" : "";
        for($i=0; $i<count($array); $i++){
            if($array[$i]["pid"] == $pid){
                $this->_nodeSelect .= "<option value="".$array[$i]["id"]."" data-path="". $path . $array[$i]["id"] .""";
                if($parentId == $array[$i]["id"]){
                    $this->_nodeSelect .= " selected="selected"";
                }
                $this->_nodeSelect .= ">".$tmp."|--".$array[$i]["name"]."</option>";
                $this->_tree($array, $parentId, $tmp, $array[$i]["id"], $path);
            }
        }
    }



//此方法待完善
function tree($id=0,$xt=array(),$r=0){
    $list = M("");
    $classify = $list->where(array("parent_id"=>$id,))->select();
    foreach((array)$classify as $k=>$v){
        for($i=0;$i<$r;$i++){
            $v["name"]="<span style="color:red;"> ├</span>".$v["name"];
        }
        $xt[]=$v;    
        $xt=tree($v["id"],$xt,$r+1);    
    }
    return $xt;
}


//递归生成树形多维数组
    protected function tree($rows=array(), $parent_id=0) {
        foreach($rows as $row){
            if($row["parent_id"] == $parent_id){
                $tmp = $this->tree($rows, $row["id"]);
                if($tmp) $row["sub"] = $tmp;
                $tree[] = $row;
            }
        }
    
        return $tree;
    }


class Tool {

    public $treeList = array(); //存放无限分类结果如果一页面有多个无限分类可以使用 Tool::$treeList = array(); 清空

    /**
     * 无限级分类
     * @access public
     * @param Array $data     //数据库里获取的结果集
     * @param Int $pid
     * @param Int $count       //第几级分类
     * @return Array $treeList
     */
    public function tree(&$data, $pid = 0, $count = 0)
    {
        foreach ($data as $key => $item)
        {
            if($item["parent_id"] == $pid){
                $item["count"] = $count;
                $this->treeList[] = $item;
//                 unset($data[$key]);

                $this->tree($data, $item["id"], $count + 1);
            }
        }

        return $this->treeList;
    }
}


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。