使用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漏洞全解(详细介绍)
Nov 13 PHP
ThinkPHP使用UTFWry地址库进行IP定位实例
Apr 01 PHP
PHP编程开发怎么提高编程效率 提高PHP编程技术
Nov 09 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
Jan 05 PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
Jan 07 PHP
php脚本运行时的超时机制详解
Feb 17 PHP
Symfony模板的快捷变量用法实例
Mar 17 PHP
php 数组字符串搜索array_search技巧
Jul 05 PHP
PHP自定义图片缩放函数实现等比例不失真缩放的方法
Aug 19 PHP
PHP接口继承及接口多继承原理与实现方法详解
Oct 18 PHP
PHP保留两位小数的几种方法
Jul 24 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
Oct 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
Search Engine Friendly的URL设计
2006/10/09 PHP
PHP CKEditor 上传图片实现代码
2009/11/06 PHP
php模板函数 正则实现代码
2012/10/15 PHP
解析PHP高效率写法(详解原因)
2013/06/20 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
PHP智能识别收货地址信息实例
2019/01/05 PHP
一个加载js文件的小脚本
2007/06/28 Javascript
Javascript 键盘事件的组合使用实现代码
2012/05/04 Javascript
jquery时间下拉框小例子
2013/04/15 Javascript
20行代码实现的一个CSS覆盖率测试脚本
2013/07/07 Javascript
JQuery中dataGrid设置行的高度示例代码
2014/01/03 Javascript
angularjs 处理多个异步请求方法汇总
2015/01/06 Javascript
使用VS开发 Node.js指南
2015/01/06 Javascript
聊一聊JavaScript作用域和作用域链
2016/05/03 Javascript
JS实现购物车特效
2017/02/02 Javascript
在vue中读取本地Json文件的方法
2018/09/06 Javascript
JS 实现微信扫一扫功能
2018/09/14 Javascript
vux-scroller实现移动端上拉加载功能过程解析
2019/10/08 Javascript
vue中动态select的使用方法示例
2019/10/28 Javascript
layui 弹出层值回传解决方式
2019/11/14 Javascript
JS实现放大镜效果
2020/09/21 Javascript
朴素贝叶斯Python实例及解析
2018/11/19 Python
Python classmethod装饰器原理及用法解析
2020/10/17 Python
Top Villas美国:豪华别墅出租和度假屋
2018/07/10 全球购物
法国在线药房:Shop Pharmacie
2019/11/26 全球购物
天猫某品牌专卖店运营计划书
2014/03/21 职场文书
报关报检委托书
2014/04/08 职场文书
父母对孩子说的话
2014/04/12 职场文书
老师对学生的评语
2014/04/18 职场文书
职业道德模范事迹材料
2014/08/24 职场文书
世界红十字日活动总结
2015/02/10 职场文书
中秋节感想
2015/08/10 职场文书
Golang生成Excel文档的方法步骤
2021/06/09 Golang
mysql left join快速转inner join的过程
2021/06/30 MySQL