Thinkphp无限级分类代码


Posted in PHP onNovember 11, 2015

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

Thinkphp无限级分类代码

控制器: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无限级分类代码

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

PHP 相关文章推荐
社区(php&amp;&amp;mysql)一
Oct 09 PHP
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
Nov 18 PHP
php环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
Mar 16 PHP
PHP通用分页类page.php[仿google分页]
Aug 31 PHP
PHP 反射机制实现动态代理的代码
Oct 22 PHP
php 应用程序安全防范技术研究
Sep 25 PHP
并发下常见的加锁及锁的PHP具体实现代码
Oct 12 PHP
php中获得视频时间总长度的另一种方法
Sep 15 PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
Nov 07 PHP
常用PHP框架功能对照表
Oct 23 PHP
PHP模拟QQ登录的方法
Jul 29 PHP
Laravel5.1 框架表单验证操作实例详解
Jan 07 PHP
php验证码生成代码
Nov 11 #PHP
分享10段PHP常用代码
Nov 11 #PHP
php+mysql实现无限级分类
Nov 11 #PHP
2款PHP无限级分类实例代码
Nov 11 #PHP
PHP中set error handler函数用法小结
Nov 11 #PHP
php实现Session存储到Redis
Nov 11 #PHP
PHP防止刷新重复提交页面的示例代码
Nov 11 #PHP
You might like
上海无线电三厂简史修改版
2021/03/01 无线电
PHP clearstatcache()函数详解
2010/03/02 PHP
PHP编码转换函数 自动转换字符集支持数组转换
2012/12/16 PHP
php中读写文件与读写数据库的效率比较分享
2013/10/19 PHP
Smarty模板常见的简单应用分析
2016/11/15 PHP
javascript String 对象
2008/04/25 Javascript
js AspxButton的客户端操作
2009/06/26 Javascript
js限制文本框输入长度两种限制方式(长度、字节数)
2012/12/19 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
js设置function参数默认值(适合没有传参情况)
2014/02/24 Javascript
JavaScript设计模式之单件模式介绍
2014/12/28 Javascript
JQuery中节点遍历方法实例
2015/05/18 Javascript
AngularJS基础 ng-mouseover 指令简单示例
2016/08/02 Javascript
easyui form validate总是返回false的原因及解决方法
2016/11/07 Javascript
带你了解session和cookie作用原理区别和用法
2017/08/14 Javascript
webpack多页面开发实践
2017/12/18 Javascript
深入浅析vue组件间事件传递
2017/12/29 Javascript
jquery.picsign图片标注组件实例详解
2018/02/02 jQuery
使用pkg打包Node.js应用的方法步骤
2018/10/19 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
2018/11/08 Javascript
jquery的$().each和$.each的区别
2019/01/18 jQuery
element-ui中Table表格省市区合并单元格的方法实现
2019/08/07 Javascript
[05:08]2014DOTA2国际邀请赛 Hao专访复仇的胜利很爽
2014/07/15 DOTA
[01:59]深扒TI7聊天轮盘语音出处 1
2017/05/11 DOTA
python 数据的清理行为实例详解
2017/07/12 Python
在Python中执行系统命令的方法示例详解
2017/09/14 Python
jupyter notebook 多行输出实例
2020/04/09 Python
HTML5实现简单图片上传所遇到的问题及解决办法
2016/01/20 HTML / CSS
GE设备配件:GE Appliance Parts(家电零件、配件和滤水器)
2018/11/28 全球购物
EJB实例的生命周期
2016/10/28 面试题
高中班主任评语大全
2014/04/25 职场文书
余世维讲座观后感
2015/06/11 职场文书
2016民族团结先进个人事迹材料
2016/02/26 职场文书
2019年励志签名:致拼搏路上的自己
2019/10/11 职场文书
解决jupyter notebook启动后没有token的坑
2021/04/24 Python
Golang 空map和未初始化map的注意事项说明
2021/04/29 Golang