使用ThinkPHP的自动完成实现无限级分类实例详解


Posted in PHP onSeptember 02, 2016

一、实现效果

使用ThinkPHP的自动完成实现无限级分类实例详解 

二、主要代码

1、模板

使用ThinkPHP的自动完成实现无限级分类实例详解

  2、控制器

·index模块

使用ThinkPHP的自动完成实现无限级分类实例详解

·add模块

使用ThinkPHP的自动完成实现无限级分类实例详解 

3、模型

使用ThinkPHP的自动完成实现无限级分类实例详解

三、代码

以便于各位看官复制测试

  1、模板

<form action="__URL__/add" method="post">
栏目<select name="fid" size=20>
<option value="0">栏目</option>
<volist name='list' id='vo'>
<option value="{$vo['id']}">
{$vo['blank']}{$vo['name']}</option>
</volist>
</select><br/>
添加栏目:<input type="text" name='name'/><br/>
<input type="submit" value="添加"/> 
</form>

2、控制器

<?php
class IndexAction extends Action
{
/**
+----------------------------------------------------------
* 默认操作
+----------------------------------------------------------
*/
public function index(){
$Column=new ColumnModel();
$list=$Column->field("id,name,fid,sort,concat(sort,'-',id) nsort")->order('nsort asc')->select();
foreach($list as $key=>$val){
$layer=count(explode('-',$list[$key]['nsort']));
$list[$key]['blank']='';
for($i=0;$i<$layer;$i++){
if($i==$layer-1){
$list[$key]['blank'].='---|';
}else{
$list[$key]['blank'].='---';
}
}
}
$this->assign('list',$list);
$this->display();
}
public function add(){
$Column=new ColumnModel;
$Column->create();
if($Column->add()){
$this->success('添加成功');
}else{
$this->error($Column->getError());
}
} 
} 
?>

  3、模型

<?php
class ColumnModel extends Model{
protected $_auto=array(
array('name','trim',0,'function'),//过滤用户不小心输入的空白字符
array('sort','createsort',0,'callback'),
);
/*
*自动完成sort字段
*根据POST过来的fid来查询上级sort,以确定本级sort
*/
protected function createsort(){
$fid=$_POST['fid']?(int)$_POST['fid']:0;//如果用户没有选择父栏目,则默认父栏目id为0
if($fid!='0'){
$list=$this->where("id=$fid")->find();
$data=$list['sort'].'-'.$fid;
}else{
$data='0';
}
return $data;
}
}
?>

以上所述是小编给大家介绍的ThinkPHP的自动完成实现无限级分类实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
用php获取本周,上周,本月,上月,本季度日期的代码
Aug 05 PHP
PHP 防注入函数(格式化数据)
Aug 08 PHP
PHP写的求多项式导数的函数代码
Jul 04 PHP
php中字符串和正则表达式详解
Oct 23 PHP
浅谈本地WAMP环境的搭建
May 13 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
Oct 25 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
Nov 05 PHP
PHP+Ajax 检测网络是否正常实例详解
Dec 16 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
Aug 17 PHP
PHP实现对图片的反色处理功能【测试可用】
Feb 01 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 PHP
PHP连接及操作PostgreSQL数据库的方法详解
Jan 30 PHP
CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
Sep 01 #PHP
PHP数组编码gbk与utf8互相转换的两种方法
Sep 01 #PHP
Yii2框架数据库简单的增删改查语法小结
Aug 31 #PHP
深入浅析Yii admin的权限控制
Aug 31 #PHP
php解决和避免form表单重复提交的几种方法
Aug 31 #PHP
PHP Callable强制指定回调类型的方法
Aug 30 #PHP
thinkphp配置文件路径的实现方法
Aug 30 #PHP
You might like
PHP通用检测函数集合
2011/02/08 PHP
php smarty截取中文字符乱码问题?gb2312/utf-8
2011/11/07 PHP
使用PHP强制下载PDF文件示例
2014/01/17 PHP
PHP基于yii框架实现生成ICO图标
2015/11/13 PHP
在 Laravel 项目中使用 webpack-encore的方法
2019/07/21 PHP
php实现简单的守护进程创建、开启与关闭操作
2019/08/13 PHP
jQuery 白痴级入门教程
2009/11/11 Javascript
js showModalDialog弹出窗口实例详解
2014/01/07 Javascript
javascript学习笔记(二)数组和对象部分
2014/09/30 Javascript
angularJS 入门基础
2015/02/09 Javascript
JS获取图片高度宽度的方法分享
2015/04/17 Javascript
详解Matlab中 sort 函数用法
2016/03/20 Javascript
JavaScript实现输入框与清空按钮联动效果
2016/09/09 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
利用JS实现简单的日期选择插件
2017/01/23 Javascript
js保留两位小数方法总结
2018/01/31 Javascript
原生JS实现顶部导航栏显示按钮+搜索框功能
2019/12/25 Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
2020/01/21 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
[05:46]DOTA2英雄梦之声_第18期_陈
2014/06/20 DOTA
详解Python网络爬虫功能的基本写法
2016/01/28 Python
python多线程分块读取文件
2019/08/29 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
使用Python进行防病毒免杀解析
2019/12/13 Python
PyCharm+Pipenv虚拟环境开发和依赖管理的教程详解
2020/04/16 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
2020/09/24 Python
python 写一个文件分发小程序
2020/12/05 Python
美国宠物用品网站:Value Pet Supplies
2018/03/17 全球购物
C#笔试题集合
2013/06/21 面试题
销售顾问的岗位职责
2013/11/13 职场文书
机械制造与自动化应届生求职信
2013/11/16 职场文书
创业者是否需要商业计划书?
2014/02/07 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
2015秋季开学典礼新闻稿
2015/07/17 职场文书
《静夜思》教学反思
2016/02/17 职场文书
nginx location 带斜杠【 / 】与不带的区别
2022/04/13 Servers