手机
当前位置:查字典教程网 >编程开发 >php教程 >Thinkphp无限级分类代码
Thinkphp无限级分类代码
摘要:本篇就一点一点教大家写一个无限级分类出来,其实掌握一个知识,最主要的是要掌握无限级分类的逻辑,那么写起来就很容易的多了。首先看数据库表:xp...

本篇就一点一点教大家写一个无限级分类出来,其实掌握一个知识,最主要的是要掌握无限级分类的逻辑,那么写起来就很容易的多了。

首先看数据库表:xp_cate

Thinkphp无限级分类代码1

控制器: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="/Article/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']"> </for> {$vo['name']} </option> </volist> </select><br /> 新的栏目名称:<input type="text" name="name" /><br /> <input type="submit" value="添加栏目" /> </form>

显示结果如下:

Thinkphp无限级分类代码2

有没有掌握无限级分类的逻辑,上文分享的thinkphp无限级分类代码,希望对大家的学习有所帮助。

【Thinkphp无限级分类代码】相关文章:

php中的时间处理

递归实现php数组转xml的代码分享

无限级别菜单的实现

phplot生成图片类用法详解

php编写批量生成不重复的卡号密码代码

php生成图片验证码

php页面缓存ob系列函数介绍

一段php加密解密的代码

php函数重载的替代方法

支持中文的PHP按字符串长度分割成数组代码

精品推荐
分类导航