Thinkphp无限级分类代码

 更新时间:2015年11月11日 15:37:18   投稿:lijiao  
这篇文章主要介绍了Thinkphp无限级分类代码,无限级分类真的很重要了,我不会写怎么办?本篇就一步步告诉大家如何制作无限级分类,感兴趣的小伙伴们可以参考一下

本篇就一点一点教大家写一个无限级分类出来,其实掌握一个知识,最主要的是要掌握无限级分类的逻辑,那么写起来就很容易的多了。
首先看数据库表:xp_cate

控制器: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']">
&nbsp;&nbsp;
</for>
{$vo['name']}
</option>
</volist>
</select><br />
新的栏目名称:<input type="text" name="name" /><br />
<input type="submit" value="添加栏目" />
</form>

显示结果如下:

有没有掌握无限级分类的逻辑,上文分享的thinkphp无限级分类代码,希望对大家的学习有所帮助。

相关文章

  • PHP-X系列教程之内置函数的使用示例

    PHP-X系列教程之内置函数的使用示例

    PHP-X本身基于C++11开发,使用cmake进行编译配置。下面这篇文章主要给大家介绍了关于PHP-X系列教程之内置函数使用的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-10-10
  • linux php mysql数据库备份实现代码

    linux php mysql数据库备份实现代码

    想在PHP后台管理直接能够备份数据库,于是想呀想,一直没有什么思路,一开始是考虑用php来访问服务器安装mysql的目录,比如 /usr/local/mysql/data目录,直接把下面对应的文件进行备份
    2009-03-03
  • php断点续传之文件分割合并详解

    php断点续传之文件分割合并详解

    这篇文章主要为大家详细介绍了php断点续传之文件分割合并,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • PHP扩展类型及安装方式解析

    PHP扩展类型及安装方式解析

    这篇文章主要介绍了PHP扩展类型及安装方式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 浅析php插件 Simple HTML DOM 用DOM方式处理HTML

    浅析php插件 Simple HTML DOM 用DOM方式处理HTML

    本篇文章是对php插件Simple HTML DOM 用DOM方式处理HTML进行了详细的分析介绍,需要的朋友参考下
    2013-07-07
  • 学习php设计模式 php实现适配器模式

    学习php设计模式 php实现适配器模式

    这篇文章主要介绍了php设计模式中的适配器模式,使用php实现适配器模式,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • php多数据库支持的应用程序设计

    php多数据库支持的应用程序设计

    以前做PHP应用,多数是单数据库数据查询和更新,顶多也是主从数据库的支持,实现起来相对简单。主从数据库的问题在于,当会话存储在数据库的时候,同步将可能出现问题,也就是说有可能出现会话的中断。
    2008-08-08
  • Thinkphp结合AJAX长轮询实现PC与APP推送详解

    Thinkphp结合AJAX长轮询实现PC与APP推送详解

    这篇文章主要给大家介绍了关于Thinkphp结合AJAX长轮询实现PC与APP推送的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-07-07
  • php 字符过滤类,用于过滤各类用户输入的数据

    php 字符过滤类,用于过滤各类用户输入的数据

    最近老看到有人的网站被挂马,发一个php的字符过滤类,建议广大站长朋友们多关注下,安全方面的知识。
    2009-05-05
  • mac下使用brew配置环境的步骤分享

    mac下使用brew配置环境的步骤分享

    mac下使用brew配置环境的步骤分享,需要的朋友可以参考下。
    2011-05-05

最新评论