使用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 相关文章推荐
使用 eAccelerator加速PHP代码的方法
Sep 30 PHP
php代码中使用换行及(\n或\r\n和br)的应用
Feb 02 PHP
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
Sep 23 PHP
php操作redis缓存方法分享
Jun 03 PHP
PHP实现的json类实例
Jul 28 PHP
php获取图片信息的方法详解
Dec 10 PHP
php 解析xml 的四种方法详细介绍
Oct 26 PHP
PHP示例演示发送邮件给某个邮箱
Apr 03 PHP
php实现大文件断点续传下载实例代码
Oct 01 PHP
Laravel 登录后清空COOKIE的操作方法
Oct 14 PHP
PHP 构造函数和析构函数原理与用法分析
Apr 21 PHP
php判断IP地址是否在多个IP段内
Aug 18 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将某个目录下面的所有文件罗列出来的方法详解
2013/06/21 PHP
php自动更新版权信息显示的方法
2015/06/19 PHP
PHP isset()及empty()用法区别详解
2020/08/29 PHP
IE bug table元素的innerHTML
2010/01/11 Javascript
extjs4 treepanel动态改变行高度示例
2013/12/17 Javascript
jQuery设置与获取HTML,文本和值的简单实例
2014/02/26 Javascript
JavaScript对IE操作的经典代码(推荐)
2014/03/10 Javascript
使用jquery实现以post打开新窗口
2014/03/19 Javascript
js实现百度登录框鼠标拖拽效果
2017/03/07 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
vue 组件的封装之基于axios的ajax请求方法
2018/08/11 Javascript
用jQuery将JavaScript对象转换为querystring查询字符串的方法
2018/11/12 jQuery
vue router带参数页面刷新或回退参数消失的解决方法
2019/02/27 Javascript
webpack4.x下babel的安装、配置及使用详解
2019/03/07 Javascript
Node.js Event Loop各阶段讲解
2019/03/08 Javascript
python通过ssh-powershell监控windows的方法
2015/06/02 Python
Python 遍历子文件和所有子文件夹的代码实例
2016/12/21 Python
Python编程实现线性回归和批量梯度下降法代码实例
2018/01/04 Python
python3 中文乱码与默认编码格式设定方法
2018/10/31 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
使用python实现抓取腾讯视频所有电影的爬虫
2019/04/15 Python
关于初始种子自动选取的区域生长实例(python+opencv)
2020/01/16 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
python绘制汉诺塔
2021/03/01 Python
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
C#里面如何判断一个Object是否是某种类型(如Boolean)?
2016/02/10 面试题
诚信考试承诺书
2014/03/27 职场文书
《开国大典》教学反思
2014/04/19 职场文书
2014年大学团支部工作总结
2014/12/02 职场文书
家长学校教学计划
2015/01/19 职场文书
故宫英文导游词
2015/01/31 职场文书
《花钟》教学反思
2016/02/17 职场文书
学生会2016感恩节活动小结
2016/04/01 职场文书
OpenCV图像变换之傅里叶变换的一些应用
2021/07/26 Python
MySQL插入数据与查询数据
2022/03/25 MySQL
Nginx开源可视化配置工具NginxConfig使用教程
2022/06/21 Servers