ThinkPHP的无限分类


 首先看数据库表:xp_cate



  控制器: CateAction.class.php
  <?php
  class CateAction extends Action{
  function index(){
  $cate=M('Cate');
  $list=$cate->field("id,name,pid,path,concat(path,'-',id) as bpath")->order('bpath')->select();
  foreach($list as $key=>$value){
  $list[$key]['count']=count(explode('-',$value['bpath']));
  }
  $this->assign('alist',$list);
  $this->display();
  }//添加栏目
  function add(){
  $cate=new CateModel();if($vo=$cate->create()){
  if($cate->add()){
  $this->success('添加栏目成功');
  }else{
  $this->error('添加栏目失败');
  }
  }else{
  $this->error($cate->getError());
  }
  }}
  ?>


  模型:CateModel.class.php
  <?php
  class CateModel extends Model{//对应数据库中的表xp_cate
  protected $_auto=array(
  array('path','tclm',3,'callback'),
  );function tclm(){
  $pid=isset($_POST['pid'])?(int)$_POST['pid']:0;
  echo ($pid);
  if($pid==0){
  $data=0;
  }else{
  $list=$this->where("id=$pid")->find();
  $data=$list['path'].'-'.$list['id'];//子类的path为父类的path加上父类的id
  }
  return $data;
  }
  }
  ?>


  模板:index.html
  <form action="__URL__/add" method="post">
  请选择父级栏目:<select name="pid" size="20">
  <option value="0">根栏目</option>
  <volist name="alist" id="vo">
  <option value="{$vo['id']}">
  <for start="0" end="$vo['count']">
  &nbsp; 
  </for>
  {$vo['name']}
  </option>
  </volist>
  </select><br />
  新的栏目名称:<input type="text" name="name" /><br />
  <input type="submit" value="添加栏目" />

  </form>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燕鹏01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值