基于Thinkphp的无限分类哦

Thinkphp的无极限分类

数据库就那两个字段,一个id,一个pid,自己定义哦.这里还是用的递归

 

 

<?php
classCategoryActionextendsAction{public $cate;public $alist;public $treeList = array();//存放无限分类结果如果一页面有多个无限分类//这个方法下次单独拿出去publicfunction _initialize(){
        $this->cate = M('Category');
        $list = $this->cate->order('`pid` asc, `order` asc, id asc')->select();
        $this->alist = $this->tree($list);}/**
     * 无限级分类
     * @access public
     * @param Array $data     //数据库里获取的结果集
     * @param Int $pid
     * @param Int $count       //第几级分类
     * @return Array $treeList
     */publicfunction tree(&$data, $pid =0, $count =1){foreach($data as $key => $value){if($value['pid']== $pid){
                $value['count']= $count;
                $this->treeList []= $value;
                unset($data[$key]);
                $this->tree($data, $value['id'], $count +1);}}return $this->treeList;}}

这样你就可以在自己的代码中

 

 

$this->assign('alist', $this->alist);

 

 

模板部分

 

<volistname="alist"id="vo"><tr><tdclass='name'><forstart="1"end="$vo['count']">
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
            </for><ahref="#"target="_blank"title="ID={$vo.id}"class="tip-top">
                {$vo['name']}
            </a></td><inputtype="hidden"value="{$vo.id}"class="id"name="id"/></tr></volist>

 

大功告成,是不是很简单啊

武汉长乐未央网络科技,版权所有,转载请注明.

posted on 2013-09-06 16:38  黑客&艺术家  阅读(140)  评论(0)    收藏  举报