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安装为Apache DSO
Oct 09 PHP
PHP的面试题集
Nov 19 PHP
一周学会PHP(视频)Http下载
Dec 12 PHP
用PHP实现Ftp用户的在线管理
Feb 16 PHP
php全局变量和类配合使用深刻理解
Jun 05 PHP
关于Sphinx创建全文检索的索引介绍
Jun 25 PHP
php命名空间学习详解
Feb 27 PHP
Yii中使用PHPExcel导出Excel的方法
Dec 26 PHP
win10环境PHP 7 安装配置【教程】
May 09 PHP
php处理抢购类功能的高并发请求
Feb 08 PHP
再谈Yii Framework框架中的事件event原理与应用
Apr 07 PHP
PHP7新增函数
Mar 09 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
PHP下对字符串的递增运算代码
2010/08/21 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
2015/08/31 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
2016/07/07 PHP
PHP简单检测网址是否能够正常打开的方法
2016/09/04 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
2019/02/15 PHP
javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
2010/05/18 Javascript
JsDom 编程小结
2011/08/09 Javascript
同域jQuery(跨)iframe操作DOM(实例讲解)
2013/12/19 Javascript
jQuery中size()方法用法实例
2014/12/27 Javascript
jQuery实现带滑动条的菜单效果代码
2015/08/26 Javascript
javascript实现动态统计图开发实例
2015/11/21 Javascript
JS实现的在线调色板实例(附demo源码下载)
2016/03/01 Javascript
pc加载更多功能和移动端下拉刷新加载数据
2016/11/07 Javascript
实例解析js中try、catch、finally的执行规则
2017/02/24 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
jQuery操作cookie的示例代码
2019/06/05 jQuery
jQuery HTML设置内容和属性操作实例分析
2020/05/20 jQuery
express异步函数异常捕获示例详解
2020/11/30 Javascript
JavaScript Dom实现轮播图原理和实例
2021/02/19 Javascript
python使用reportlab画图示例(含中文汉字)
2013/12/03 Python
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
PyTorch 解决Dataset和Dataloader遇到的问题
2020/01/08 Python
Python常用库大全及简要说明
2020/01/17 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
2020/02/10 Python
无畏的旅行:Intrepid Travel
2017/12/20 全球购物
HolidayLettings英国:预订最好的度假公寓、别墅和自助式住宿
2019/08/27 全球购物
Maxpeedingrods美国:高性能汽车零件
2020/02/14 全球购物
出纳岗位职责
2013/11/09 职场文书
安全生产网格化管理实施方案
2014/03/01 职场文书
幼儿园小班评语大全
2014/04/17 职场文书
5s推行计划书
2014/05/06 职场文书
港澳通行证委托书怎么写
2014/08/02 职场文书
红色影片观后感
2015/06/18 职场文书
朝花夕拾读书笔记
2015/06/29 职场文书
担保公司2015年终工作总结
2015/10/14 职场文书
SQL实现LeetCode(196.删除重复邮箱)
2021/08/07 MySQL