使用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+mysql分页代码详解
Mar 27 PHP
PHP 生成的XML以FLASH获取为乱码终极解决
Aug 07 PHP
php下清空字符串中的HTML标签的代码
Sep 06 PHP
php反射应用示例
Feb 25 PHP
浅谈php命令行用法
Feb 04 PHP
php简单计算页面加载时间的方法
Jun 19 PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
Oct 22 PHP
简单谈谈php浮点数精确运算
Mar 10 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
Apr 01 PHP
PHP递归删除多维数组中的某个值
Apr 17 PHP
PHP filesize函数用法浅析
Feb 15 PHP
Laravel基础_关于view共享数据的示例讲解
Oct 14 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代码
2010/02/16 PHP
PHP中怎样防止SQL注入分析
2014/10/23 PHP
PHP的介绍以及优势详细分析
2019/09/05 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
我见过最全的个人js加解密功能页面
2007/12/12 Javascript
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
Javascript下判断是否为闰年的Datetime包
2010/10/26 Javascript
js switch case default 的用法示例介绍
2013/10/23 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
2014/02/13 Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
2014/05/21 Javascript
JavaScript中的toUTCString()方法使用详解
2015/06/12 Javascript
jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)
2016/03/05 Javascript
jQuery-mobile事件监听与用法详解
2016/11/23 Javascript
php输出全部gb2312编码内的汉字方法
2017/03/04 Javascript
vue mint-ui学习笔记之picker的使用
2017/10/11 Javascript
微信小程序实现简单input正则表达式验证功能示例
2017/11/30 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
2018/03/12 Javascript
学习Vue组件实例
2018/04/28 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
element-ui 文件上传修改文件名的方法示例
2019/11/05 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
2019/11/06 Javascript
Python(TensorFlow框架)实现手写数字识别系统的方法
2018/05/29 Python
Python中将两个或多个list合成一个list的方法小结
2019/05/12 Python
Python 元组操作总结
2019/09/18 Python
基于Python下载网络图片方法汇总代码实例
2020/06/24 Python
python tqdm实现进度条的示例代码
2020/11/10 Python
Python爬虫教程之利用正则表达式匹配网页内容
2020/12/08 Python
Melijoe英国官网:法国儿童时尚网站
2016/11/18 全球购物
BLACKMORES澳洲官网:澳大利亚排名第一的保健品牌
2018/09/27 全球购物
Unineed旗下时尚轻奢网站:FABHunt
2019/05/13 全球购物
纪律教育月活动总结
2014/08/26 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
各种货币符号快捷输入
2022/02/17 杂记
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python