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

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;
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值