本文讲解了thinkphp框架下实现无限级分类的方法,无限级分类一般应用在网站的分类菜单中,是很常用的数据结构和功能,在thinkphp中实现这种方法也是很容易的一件事,接下来我们就来学习下如何来使用。

无限分类原理是添加一个字段(比如Sid)作区分,顶级分类Sid为0,二级分类Sid为上一级分类的ID,一次类推。输出的时候一般使用递归即可。

我们首先来新建一张数据表,表结构如下:

控制器: 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

请选择父级栏目:

根栏目

{:str_repeat(" ",$vo['count']-2)}

{$vo['name']}

新的栏目名称:

显示结果如下:

注:

本文所实现的无限级分类使用了ThinkPhP框架。也就是采用的MVC架构,其中控制器,模版和模型层写的很清楚,对于会使用TP的来说理解很容易,如果有对TP框架不理解的同学,可以先了解下框架的使用方法,在回头看我们的写法。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php控制器无限极分类,thinkphp无限极分类实现方法相关推荐

  1. 无极菜单 php,ThinkPHP菜单无极分类 ThinkPHP菜单无极分类实例讲解

    想了解ThinkPHP菜单无极分类实例讲解的相关内容吗,祝君圆梦在本文为您仔细讲解ThinkPHP菜单无极分类的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:ThinkPHP菜单无极分类, ...

  2. java的无极分类,ThinkPHP菜单无极分类实例讲解

    效果图如下 controller控制器代码: /** * 菜单列表 */ public function index(){ $menuList= Db::name('menu')->order( ...

  3. 无限极分类php简单,创建无限极分类树型结构的简单方法

    先上效果图 顶级分类其实就是一级分类,二级分类也叫作一级分类的子分类,在这个基础上,子分类还可以拥有子分类,这样就构成了无限极分类. 接下来看具体实现的代码: 一.在控制器中按字段查询,查询出所有分类 ...

  4. php无限极 left right,php无限极分类实现的两种解决方法

    本篇文章介绍了,在php中无限极分类实现的两种解决方法.需要的朋友参考下 method of classify one<?php /* reader: 这是自己写的无限极分类实现方法 里面的编辑 ...

  5. 学习使用php实现无限极评论和无限极转二级评论解决方案

    学习使用php实现无限极评论和无限极转二级评论解决方案 评论数组 无限极评论 二级评论 评论数组 $parent_comment_id = 317;$comment_str = '[{"co ...

  6. thinkphp整合极验滑动验证码源码演示下载

    thinkphp整合极验滑动验证码源码演示下载-二当家的php源码下载 <!DOCTYPE html><html lang="en"><head> ...

  7. php无极分类非递归_PHP中的无限级分类、无限嵌套评论

    php中文网最新课程 每日17点准时技术干货分享 一般来说,递归被称为函数自身的调用. 递归在开发中的实际运用 N级分类 无限级的分类在平常的开发中是常见的需求,并且在不少面试题中都会碰到.不管你做什 ...

  8. 极流行的四型人格分类,你是哪一种?

    极流行的四型人格分类,你是哪一种? 2007-04-29 01:11 P.M. 在每行中挑选一个与您最相近的形容词(每题必须选一个并且只能选一个)若您在某一题上实在无法判断 请考虑3年前的自己的特征作 ...

  9. 极海APM微控制器基于IAR开发环境搭建与工程调试配置方法

    极海APM微控制器基于IAR开发环境搭建与工程调试配置方法 ✨本篇主要针对基于IAR for ARM版本:V9.30.1环境搭建和工程调试配置过程进行介绍,当然也同样适用于基于ARM架构芯片的开发使用 ...

最新文章

  1. kangle php集成环境包,PHP探针-UPUPW环境集成包KANGLE专用版 | bftxjc.com contacts
  2. pytorch dataset dataloader_PyTorch(五)——数据的加载和预处理
  3. 统计学习方法(一)统计学习方法概论
  4. python实例属性与类属性_Python类属性与实例属性用法分析
  5. 省市区 / 三级联动
  6. 开源云平台 CloudStack 4.1.0 安装详解 - 3、vCenter
  7. Java 面向对象编程 tricks
  8. php项目重构,跪求网页重构、前端开发、PHP 开发,坐标深圳腾讯 CDC
  9. 如何用 Python 翻译语言?
  10. 基于RFID定位技术的精神病人员定位解决方案--新导智能
  11. 大学计算机实践教程咖啡文化,北京大学图书馆学习共享空间.docx
  12. Hexo博客NexT主题开启文章目录和调整样式
  13. 代码获取DEP按钮及获取DEP控件
  14. 黑CNN网站:解恨但不明智
  15. 关于JAVAFX的鼠标单击事件案例
  16. 前端网络基础 - 跨域xhr/fetch
  17. 电脑提高或开启高性能模式
  18. RFID 中间件规范 -- ALE 介绍
  19. python抓取直播源 并更新_M3U8直播源有效性验证Python版
  20. vue中使用rem布局

热门文章

  1. 零基础自学python的app-零基础学Python需要用哪些软件?
  2. python画折线图详解-python绘制简单折线图代码示例
  3. 学python编程-趣学Python编程
  4. python爬虫抓取图片-python网络爬虫源代码(可直接抓取图片)
  5. python用于什么-python用于什么
  6. python中and与or的执行顺序-关联子查询的执行顺序是什么
  7. php源码中如何添加滚动公告,如何给WordPress网站添加滚动公告?
  8. LeetCode Range Sum Query - Mutable(树状数组、线段树)
  9. UVa719 Glass Bread(后缀数组解法)
  10. LeetCode First Missing Positive