使用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 相关文章推荐
ajax+php打造进度条 readyState各状态
Mar 20 PHP
mysql From_unixtime及UNIX_TIMESTAMP及DATE_FORMAT日期函数
Mar 21 PHP
php Session存储到Redis的方法
Nov 04 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
Oct 13 PHP
php隐藏IP地址后两位显示为星号的方法
Nov 21 PHP
php输入数据统一类实例
Feb 23 PHP
PHP对文件夹递归执行chmod命令的方法
Jun 19 PHP
smarty简单应用实例
Nov 03 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
Jan 09 PHP
利用php-cli和任务计划实现订单同步功能的方法
May 03 PHP
PHP中Static(静态)关键字功能与用法实例分析
Apr 05 PHP
PHP设计模式概论【概念、分类、原则等】
May 01 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无法访问远程mysql的问题分析及解决
2013/05/16 PHP
PHP 转义使用详解
2013/07/15 PHP
php上传图片存入数据库示例分享
2014/03/11 PHP
PHP SPL标准库之SplFixedArray使用实例
2015/05/12 PHP
php解决和避免form表单重复提交的几种方法
2016/08/31 PHP
js+数组实现网页上显示时间/星期几的实用方法
2013/01/18 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
DOM基础教程之使用DOM + Css
2015/01/20 Javascript
jquery 插件实现多行文本框[textarea]自动高度
2015/03/04 Javascript
js带前后翻页的图片切换效果代码分享
2015/09/08 Javascript
Bootstrap下拉菜单效果实例代码分享
2016/06/30 Javascript
JS简单实现浮动窗口效果示例
2016/09/07 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
2016/09/30 Javascript
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
JavaScript闭包原理与用法实例分析
2018/08/10 Javascript
了解javascript中let和var及const关键字的区别
2019/05/24 Javascript
基于JavaScript实现十五拼图代码实例
2020/04/26 Javascript
vue项目,代码提交至码云,iconfont的用法说明
2020/07/30 Javascript
利用Python开发微信支付的注意事项
2016/08/19 Python
你应该知道的python列表去重方法
2017/01/17 Python
Python基础教程之浅拷贝和深拷贝实例详解
2017/07/15 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
2017/09/26 Python
django模板语法学习之include示例详解
2017/12/17 Python
Python完成毫秒级抢淘宝大单功能
2019/06/06 Python
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
Python (Win)readline和tab补全的安装方法
2019/08/27 Python
Jupyter加载文件的实现方法
2020/04/14 Python
Django def clean()函数对表单中的数据进行验证操作
2020/07/09 Python
Python远程方法调用实现过程解析
2020/07/28 Python
捷克移动配件网上商店:ProMobily.cz
2019/03/15 全球购物
2013年军训通讯稿
2014/02/05 职场文书
煤矿安全协议书
2014/08/20 职场文书
学生犯错保证书
2015/05/09 职场文书
青年干部培训班学习心得体会
2016/01/06 职场文书
漫画「请问您今天要来点兔子吗?」最新杂志彩页公开
2022/03/24 日漫