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.ini中文版
Oct 09 PHP
如何隐藏你的.php文件
Jan 04 PHP
PHP 加密与解密的斗争
Apr 17 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
Oct 17 PHP
微信公众平台接口开发入门示例
Dec 24 PHP
php读取csv数据保存到数组的方法
Jan 03 PHP
wordpress安装过程中遇到中文乱码的处理方法
Apr 21 PHP
php投票系统之增加与删除投票(管理员篇)
Jul 01 PHP
PHP手机短信验证码实现流程详解
May 17 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
Nov 22 PHP
PHP之认识(二)关于Traits的用法详解
Apr 11 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
增加反向链接的101个方法 站长推荐
2007/01/31 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
2013/09/16 PHP
PHP过滤★等特殊符号的正则
2014/01/27 PHP
php经典算法集锦
2015/11/14 PHP
thinkPHP显示不出验证码的原因与解决方法分析
2017/05/20 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
通过pjax实现无刷新翻页(兼容新版jquery)
2014/01/31 Javascript
jQuery下拉美化搜索表单效果代码分享
2015/08/25 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
javascript从定义到执行 你不知道的那些事
2016/01/04 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
2016/03/11 Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
2016/10/18 Javascript
JS解决移动web开发手机输入框弹出的问题
2017/03/31 Javascript
js实现数组内数据的上移和下移的实例
2017/11/14 Javascript
vue中v-for加载本地静态图片方法
2018/03/03 Javascript
浅析vue中的MVVM实现原理
2019/03/04 Javascript
vue中使用GraphQL的实例代码
2019/11/04 Javascript
Vue 中获取当前时间并实时刷新的实现代码
2020/05/12 Javascript
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
Python 元组(Tuple)操作详解
2014/03/11 Python
python算法表示概念扫盲教程
2017/04/13 Python
对Python 文件夹遍历和文件查找的实例讲解
2018/04/26 Python
python实现爬取图书封面
2018/07/05 Python
CentOS 7 安装python3.7.1的方法及注意事项
2018/11/01 Python
对pandas中两种数据类型Series和DataFrame的区别详解
2018/11/12 Python
python离线安装外部依赖包的实现
2020/02/13 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
纽约香氛品牌:NEST Fragrance
2018/10/15 全球购物
精致的手工皮鞋:Shoe Embassy
2019/11/08 全球购物
业务代表的岗位职责
2013/11/16 职场文书
企业统计员岗位职责
2013/12/13 职场文书
安全教育感言
2014/03/04 职场文书
心理健康活动总结
2014/04/30 职场文书
中国在我心中演讲稿
2014/09/13 职场文书
党支部承诺书
2015/01/20 职场文书
基于python实现银行管理系统
2021/04/20 Python