使用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 相关文章推荐
做个自己站内搜索引擎
Oct 09 PHP
php中处理模拟rewrite 效果
Dec 09 PHP
php防止伪造数据从地址栏URL提交的方法
Aug 24 PHP
thinkphp连贯操作实例分析
Nov 22 PHP
PHP使用header()输出图片缓存实例
Dec 09 PHP
php数组生成html下拉列表的方法
Jul 20 PHP
php生成唯一数字id的方法汇总
Nov 18 PHP
从性能方面考虑PHP下载远程文件的3种方法
Dec 29 PHP
php mysql数据库操作类(实例讲解)
Aug 06 PHP
php图片裁剪函数
Oct 31 PHP
laravel-admin 实现在指定的相册下添加照片
Oct 21 PHP
php让json_encode不自动转义斜杠“/”的方法
Apr 27 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
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
2015/12/28 PHP
thinkPHP3.1验证码的简单实现方法
2016/04/22 PHP
PHP打印输出函数汇总
2016/08/28 PHP
PHP类与对象后期静态绑定操作实例详解
2018/12/20 PHP
ThinkPHP框架实现FTP图片上传功能示例
2019/04/08 PHP
JQuery实现自定义对话框的代码
2008/06/15 Javascript
Javascript alert消息换行的方法
2013/08/07 Javascript
js设置cookie过期当前时间减去一秒相当于立即过期
2014/09/04 Javascript
JavaScript判断textarea值是否为空并给出相应提示
2014/09/04 Javascript
jQuery制作网页版选项卡
2016/07/28 Javascript
javascript实现鼠标点击页面 移动DIV
2016/12/02 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
2017/02/05 Javascript
jQuery正则验证注册页面经典实例
2017/06/10 jQuery
js获取css的各种样式并且设置他们的方法
2017/08/22 Javascript
Vue组件Draggable实现拖拽功能
2018/12/01 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
python实现进程间通信简单实例
2014/07/23 Python
Tornado高并发处理方法实例代码
2018/01/15 Python
Python面向对象编程之继承与多态详解
2018/01/16 Python
Python实现字典(dict)的迭代操作示例
2018/06/05 Python
python虚拟环境迁移方法
2019/01/03 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
Android Q之气泡弹窗的实现示例
2020/06/23 Python
把富文本的回车转为br标签
2019/08/09 HTML / CSS
米兰必去买手店排行榜首位:Antonioli
2016/09/11 全球购物
椰子猫砂:CatSpot
2018/08/27 全球购物
Cinque网上商店:德国服装品牌
2019/03/17 全球购物
法律专业推荐信范文
2013/11/29 职场文书
宗教学大学生职业生涯规划范文
2014/02/08 职场文书
幼儿园教学随笔感言
2014/02/23 职场文书
充分就业社区汇报材料
2014/05/07 职场文书
给老婆道歉的话
2015/01/20 职场文书
思想道德自我评价2015
2015/03/09 职场文书
红领巾广播站广播稿
2015/08/19 职场文书
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS