ThinkPHP自动填充实现无限级分类的方法


Posted in PHP onAugust 22, 2014

本文实例展示了ThinkPHP自动填充实现无限级分类的方法,是ThinkPHP常用功能之一,非常具有实用价值。现将完整实例分享给大家,供大家参考。具体实现步骤如下:

表aoli_cate如下图所示:

ThinkPHP自动填充实现无限级分类的方法

一、action部分:

aoli/Home/Lib/Action/CataAction.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('添加栏目失败');  
      }
      //dump($vo);  
    }else{
      $this->error($cate->getError());  
    }
  }
  
}
?>

二、模型部分:

aoli/Home/Lib/Model/CataModel.class.php文件如下:

<?php
class CateModel extends Model{//对应数据库中的表aoli_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;  
  }
}
?>

三、view视图部分

aoli/Home/Tpl/default/Cate/index.html页面如下:

<form action="__URL__/add" method="post">
 请选择父级栏目:<select name="pid" size="20">
         <option value="0">根栏目</option>
         <volist name="alist" id="vo">
          <option value="{$vo['id']}">
            <php>
              for($i=0;$i<$vo['count'];$i++){
                echo ' ';  
              }
            </php>
            {$vo['name']}
          </option>
         </volist>
        </select><br />
 新的栏目名称:<input type="text" name="name" /><br />
 <input type="submit" value="添加栏目" />
</form>

相信本文所述实例对大家ThinkPHP程序设计有一定的参考价值。

PHP 相关文章推荐
木翼下载系统中说明的PHP安全配置方法
Jun 16 PHP
Php注入点构造代码
Jun 14 PHP
php Sql Server连接失败问题及解决办法
Aug 07 PHP
php获取汉字首字母的函数
Nov 07 PHP
PHP通过插入mysql数据来实现多机互锁实例
Nov 05 PHP
PHP将字符分解为多个字符串的方法
Nov 22 PHP
PHP常见漏洞攻击分析
Feb 21 PHP
PHP二分查找算法示例【递归与非递归方法】
Sep 29 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
Dec 09 PHP
PHP实现的curl批量请求操作示例
Jun 06 PHP
利用PHP扩展Xhprof分析项目性能实践教程
Sep 05 PHP
PHPUnit + Laravel单元测试常用技能
Nov 06 PHP
ThinkPHP验证码和分页实例教程
Aug 22 #PHP
ThinkPHP文件上传实例教程
Aug 22 #PHP
ThinkPHP中ajax使用实例教程
Aug 22 #PHP
ThinkPHP中的常用查询语言汇总
Aug 22 #PHP
ThinkPHP多语言支持与多模板支持概述
Aug 22 #PHP
ThinkPHP中的三大自动简介
Aug 22 #PHP
PHP实现克鲁斯卡尔算法实例解析
Aug 22 #PHP
You might like
使用PHP提取视频网站页面中的FLASH地址的代码
2010/04/17 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
2011/07/03 PHP
教你如何快捷的使用cmd访问mysql小技巧
2014/05/26 PHP
php生成酷炫的四个字符验证码
2016/04/22 PHP
php readfile()修改文件上传大小设置
2017/08/11 PHP
jQuery :nth-child前有无空格的区别分析
2011/07/11 Javascript
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
jQuery中filter()和find()的区别深入了解
2013/09/25 Javascript
jQuery动态创建html元素的常用方法汇总
2014/09/05 Javascript
简介AngularJS的HTML DOM支持情况
2015/06/17 Javascript
详解iframe与frame的区别
2016/01/13 Javascript
使用JavaScriptCore实现OC和JS交互详解
2017/03/28 Javascript
详解微信小程序 通过控制CSS实现view隐藏与显示
2017/05/24 Javascript
详解Vue.js搭建路由报错 router.map is not a function
2017/06/27 Javascript
nodejs 搭建简易服务器的图文教程(推荐)
2017/07/18 NodeJs
react组件从搭建脚手架到在npm发布的步骤实现
2019/01/09 Javascript
JavaScript中AOP的实现与应用
2019/05/06 Javascript
javascript异步处理与Jquery deferred对象用法总结
2019/06/04 jQuery
详解Vue.js 作用域、slot用法(单个slot、具名slot)
2019/10/15 Javascript
Vue2.x和Vue3.x的双向绑定原理详解
2020/11/05 Javascript
[05:28]刀塔密之一:团结则存
2014/07/03 DOTA
[08:08]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY
2014/06/25 DOTA
[40:01]OG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python中pycurl库的用法实例
2014/09/30 Python
python搜索指定目录的方法
2015/04/29 Python
python通过imaplib模块读取gmail里邮件的方法
2015/05/08 Python
Python爬虫爬取美剧网站的实现代码
2016/09/03 Python
详解Python实现多进程异步事件驱动引擎
2017/08/25 Python
Python2和Python3中urllib库中urlencode的使用注意事项
2018/11/26 Python
python七夕浪漫表白源码
2019/04/05 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
Timberland澳大利亚官网:全球领先的户外品牌
2019/12/10 全球购物
2014年话务员工作总结
2014/11/19 职场文书
杨善洲观后感
2015/06/04 职场文书
隐形的翅膀观后感
2015/06/10 职场文书
考生诚信考试承诺书(2016版)
2016/03/25 职场文书