ThinkPHP无限分类

首先您得有数据表 必须有id字段 上级id字段(父级字段,也就是他爸爸是谁)
表结构如图所示:

id为自己 sid为上级id 也就是父级 他爸爸是谁 (px我设为排序,这个不在本话题)

sid说明 0表示顶级 他没有爸爸是祖宗了哈

控制器代码

  1.     //取顶级分类控制器
  2.     public function index(){
  3.         $Data=M('Type');
  4.         $where['sid']=0; //先取他祖宗出来
  5.         $list=$Data->where($where)->order('px')->select();
  6.         $this->assign('list',$list);
  7.         $this->display();
  8.     }

 

函数调用二级 调用他儿子有几个 当然也可以取他儿子的儿了,这里我就讲到二级哈
函数代码放在/项目/Common/Common.php 根据你自己来配哈

  1. //取子分类
  2.  function SidType($sid){
  3.     $Data=M('Type');
  4.     $where['sid']=$sid;
  5.     $list=$Data->where($where)->order('px')->select();
  6.     return $list;
  7.  }

 

模板代码

  1. <table width="100%" border="0">
  2.   <tr class="th">
  3.     <th scope="col" width="10%">ID</th>
  4.     <th scope="col" width="10%">排序</th>
  5.     <th scope="col" style="text-align:left;" width="60%">名称</th>
  6.     <th scope="col" width="30%">操作</th>
  7.   </tr>
  8.   <!--顶级分类-->
  9.   <volist name="list" id="vo">
  10.   <tr class="tr">
  11.     <td align="center">{$vo.id}</td>
  12.     <td align="center"><input type="text" value="{$vo.px}" style="width:50px;" /></td>
  13.     <td align="left">┣ {$vo.name}</td>
  14.     <td align="center"><a href="{:U('Admin/updata','id='.$vo['id'])}">预览</a> <a href="{:U('Admin/updata','id='.$vo['id'])}">内容</a> <a href="{:U('Admin/updata','id='.$vo['id'])}">修改</a> <a url="{:U('Admin/del','id='.$vo['id'])}" href="#" class="f00 del">删除</a></td>
  15.   </tr>
  16.       <!--子分类-->
  17.       <volist name=":SidType($vo['id'])" id="vo">
  18.         <tr class="tr">
  19.           <td align="center">{$vo.id}</td>
  20.           <td align="center">   <input type="text" value="{$vo.px}" style="width:50px;" /></td>
  21.           <td align="left">┗━ {$vo.name}</td>
  22.           <td align="center"><a href="{:U('Admin/updata','id='.$vo['id'])}">预览</a> <a href="{:U('Admin/updata','id='.$vo['id'])}">内容</a> <a href="{:U('Admin/updata','id='.$vo['id'])}">修改</a> <a url="{:U('Admin/del','id='.$vo['id'])}" href="#" class="f00 del">删除</a></td>
  23.         </tr>
  24.       </volist>
  25.   </volist>
  26.  </table>

 

上面是我自己的哈,有些不须要的可以去掉,你看懂意思就行,不要管其他又是代表什么,最终效果如下图所示


下面简写一下,取下级的下级的下级,,,,无限取

  1. //顶级
  2.  <volist name="list" id="vo">
  3.        //二级
  4.        <volist name=":SidType($vo['id'])" id="vo">
  5.              //三级
  6.                 <volist name=":SidType($vo['id'])" id="vo">
  7.                       //....一直无限取哈
  8.                  </volist>
  9.        </volist>
  10.  </volist>
posted @ 2016-07-01 16:52  Lizard92  阅读(160)  评论(0编辑  收藏  举报