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学习教程之第1天
Jun 15 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
Jul 15 PHP
解析php中如何调用用户自定义函数
Aug 06 PHP
php 下载保存文件保存到本地的两种实现方法
Aug 12 PHP
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
Jun 22 PHP
PHP临时文件的安全性分析
Jul 04 PHP
Laravel 5框架学习之表单验证
Apr 08 PHP
解析PHP之提取多维数组指定列的方法
Jan 03 PHP
关于Laravel Route重定向的一个注意点
Jan 16 PHP
Laravel构建即时应用的一种实现方法详解
Aug 31 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
Mar 31 PHP
php实现有序数组旋转后寻找最小值方法
Sep 27 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
解析PayPal支付接口的PHP开发方式
2010/11/28 PHP
ThinkPHP之A方法实例讲解
2014/06/20 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
thinkphp实现把数据库中的列的值存到下拉框中的方法
2017/01/20 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
PHP简单验证码功能机制实例详解
2019/03/27 PHP
PHP经典设计模式之依赖注入定义与用法详解
2019/05/21 PHP
PHP常用函数之获取汉字首字母功能示例
2019/10/21 PHP
HTML DOM的nodeType值介绍
2011/03/31 Javascript
容易被忽略的JS脚本特性
2011/09/13 Javascript
jquery获取自定义属性(attr和prop)实例介绍
2013/04/21 Javascript
javascript删除字符串最后一个字符
2014/01/14 Javascript
javascript中attribute和property的区别详解
2014/06/05 Javascript
jQuery获取iframe的document对象的方法
2014/10/10 Javascript
jQuery中insertBefore()方法用法实例
2015/01/08 Javascript
JavaScript数据类型检测代码分享
2015/01/26 Javascript
解决jQuery uploadify在非IE核心浏览器下无法上传
2015/08/05 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
NodeJS实现图片上传代码(Express)
2017/06/30 NodeJs
JS实现的3des+base64加密解密算法完整示例
2018/05/18 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
2018/08/13 Javascript
Bootstrap-table自定义可编辑每页显示记录数
2018/09/07 Javascript
小程序实现自定义导航栏适配完美版
2019/04/02 Javascript
electron 如何将任意资源打包的方法步骤
2020/04/16 Javascript
python实现文件快照加密保护的方法
2015/06/30 Python
使用Python判断质数(素数)的简单方法讲解
2016/05/05 Python
Python制作钉钉加密/解密工具
2016/12/07 Python
python实现简易内存监控
2018/06/21 Python
浅谈python 读excel数值为浮点型的问题
2018/12/25 Python
pandas 时间格式转换的实现
2019/07/06 Python
John Hardy官方网站:手工设计首饰的奢侈品牌
2017/07/05 全球购物
斯洛伐克香水和化妆品购物网站:Parfemy-Elnino.sk
2020/01/28 全球购物
企业优秀员工事迹材料
2014/05/28 职场文书
Mysql 一主多从的部署
2022/05/20 MySQL
Linux中文件的基本属性介绍
2022/06/01 Servers