使用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 相关文章推荐
怎么样可以把 phpinfo()屏蔽掉?
Nov 24 PHP
phpMyAdmin下载、安装和使用入门教程
May 31 PHP
PHP输出XML到页面的3种方法详解
Jun 06 PHP
php导出excel格式数据问题
Mar 11 PHP
变量在 PHP7 内部的实现(一)
Dec 21 PHP
全面解读PHP的Yii框架中的日志功能
Mar 17 PHP
PHP中Socket连接及读写数据超时问题分析
Jul 19 PHP
[原创]php实现 data url的图片生成与保存
Dec 04 PHP
php 判断页面或图片是否经过gzip压缩的方法
Apr 05 PHP
PHP静态延迟绑定和普通静态效率的对比
Oct 20 PHP
PHP实现APP微信支付的实例讲解
Feb 10 PHP
php设计模式之工厂模式用法经典实例分析
Sep 20 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编程中八种常见的文件操作方式
2006/11/19 PHP
php 操作符与控制结构
2012/03/07 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
2017/02/14 PHP
JavaScript使用cookie
2007/02/02 Javascript
jquery获取自定义属性(attr和prop)实例介绍
2013/04/21 Javascript
javascript中的变量作用域以及变量提升详细介绍
2013/10/24 Javascript
浅谈jQuery中的事件
2015/03/23 Javascript
jquery图片滚动放大代码分享(1)
2015/08/25 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
BootStrap智能表单实战系列(八)表单配置json详解
2016/06/13 Javascript
js实现上传图片预览方法
2016/10/25 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
2017/06/01 Javascript
浅谈JavaScript中的属性:如何遍历属性
2017/09/14 Javascript
浅谈vue项目重构技术要点和总结
2018/01/23 Javascript
JS正则表达式常见用法实例详解
2018/06/19 Javascript
解决angular双向绑定无效果,ng-model不能正常显示的问题
2018/10/02 Javascript
JavaScript 点击触发复制功能实例详解
2018/11/02 Javascript
前端路由&amp;webpack基础配置详解
2019/06/10 Javascript
详解在Angular4中使用ng2-baidu-map的方法
2019/06/19 Javascript
vue 使用class创建和清除水印的示例代码
2020/12/25 Vue.js
git使用.gitignore设置不生效或不起作用问题的解决方法
2017/06/01 Python
Python实现的选择排序算法示例
2017/11/29 Python
Numpy中转置transpose、T和swapaxes的实例讲解
2018/04/17 Python
PyQt Qt Designer工具的布局管理详解
2019/08/07 Python
Win系统PyQt5安装和使用教程
2019/12/25 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
2020/05/26 Python
python3将变量输入的简单实例
2020/08/19 Python
python利用tkinter实现图片格式转换的示例
2020/09/28 Python
CSS3实现任意图片lowpoly动画效果实例
2017/05/11 HTML / CSS
美国批发供应商:Kole Imports
2019/04/10 全球购物
英国豪华家具和家居用品购物网站:Teddy Beau
2020/10/12 全球购物
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
优秀经理事迹材料
2014/02/01 职场文书
管理提升方案
2014/06/04 职场文书
房产销售员2015年终工作总结
2015/10/22 职场文书
Python使用pandas导入csv文件内容的示例代码
2022/12/24 Python