博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
weiphp 投票插件的主控制器部分代码
阅读量:4636 次
发布时间:2019-06-09

本文共 3777 字,大约阅读时间需要 12 分钟。

1 
model = M ( 'Model' )->getByName ( $_REQUEST ['_controller'] ); //查询model表,获取该插件基本列表信息13 $this->model || $this->error ( '模型不存在!' ); //判断模型是否存在,若不存在抛出错误提示14 15 $this->assign ( 'model', $this->model ); //将model数据传到模板,初始化的作用16 17 $this->option = M ( 'Model' )->getByName ( 'vote_option' ); //查vote_option获取投票模型字段信息18 $this->assign ( 'option', $this->option ); //option数据传到模板,初始化的作用19 }20 /**21 * 显示指定模型列表数据22 */23 public function lists() { //列表控制方法24 $page = I ( 'p', 1, 'intval' ); // 默认显示第一页数据25 26 // 解析列表规则27 $list_data = $this->_list_grid ( $this->model ); //_list_grid方法解析列表规则28 $grids = $list_data ['list_grids']; //给子数组别名29 $fields = $list_data ['fields']; //给子数组别名30 31 // 关键字搜索32 $map ['token'] = get_token (); //获取token33 $key = $this->model ['search_key'] ? $this->model ['search_key'] : 'title'; //判断并赋值34 if (isset ( $_REQUEST [$key] )) { //判断并将字符转换为 HTML 实体35 $map [$key] = array (36 'like',37 '%' . htmlspecialchars ( $_REQUEST [$key] ) . '%' 38 );39 unset ( $_REQUEST [$key] );40 }41 // 条件搜索42 foreach ( $_REQUEST as $name => $val ) { //循环43 if (in_array ( $name, $fields )) { //组装$map数组44 $map [$name] = $val; //把$val传值给$map [$name]45 }46 }47 $row = empty ( $this->model ['list_row'] ) ? 20 : $this->model ['list_row']; //判断并设置model ['list_row']48 49 // 读取模型数据列表50 51 empty ( $fields ) || in_array ( 'id', $fields ) || array_push ( $fields, 'id' ); //判断数组中字段52 $name = parse_name ( get_table_name ( $this->model ['id'] ), true ); //获取表名,并转换格式53 $data = M ( $name )->field ( empty ( $fields ) ? true : $fields )->where ( $map )->order ( 'id DESC' )->page ( $page, $row )->select (); //查表,并id升序排序54 55 /* 查询记录总数 */56 $count = M ( $name )->where ( $map )->count ();57 58 // 分页59 if ($count > $row) { //若总数大于基本分页数60 $page = new \Think\Page ( $count, $row ); //实例化分也类61 $page->setConfig ( 'theme', '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%' );62 $this->assign ( '_page', $page->show () );63 }64 65 $this->assign ( 'list_grids', $grids ); //传参list_grids66 $this->assign ( 'list_data', $data ); //传参list_data67 $this->meta_title = $this->model ['title'] . '列表'; //给meta_title赋值68 $this->display ( T ( 'Addons://Vote@Vote/lists' ) ); //调用模板显示69 }70 public function del() { //列表中的删除方法71 $ids = I ( 'id', 0 ); //对传参进行赋值72 if (empty ( $ids )) { //判断$ids是否为空73 $ids = array_unique ( ( array ) I ( 'ids', 0 ) ); //若$ids不为空,将数组降维74 }75 if (empty ( $ids )) {76 $this->error ( '请选择要操作的数据!' ); //若数组为空,提示错误77 }78 79 $Model = M ( get_table_name ( $this->model ['id'] ) ); //实例化model表中对应id的一条数据80 //组装数组81 $map = array (82 'id' => array (83 'in',84 $ids 85 ) 86 );87 $map ['token'] = get_token ();88 if ($Model->where ( $map )->delete ()) { //删除数据操作并做判断是否删除成功89 $this->success ( '删除成功' );90 } else {91 $this->error ( '删除失败!' );92 }93 }

 

转载于:https://www.cnblogs.com/dennr/p/4609261.html

你可能感兴趣的文章
【BZOJ】2120: 数颜色
查看>>
Html_div圆角
查看>>
WPF——OXY绘图
查看>>
点击复制代码
查看>>
UVa 10051 Tower of Cubes(类似LIS)
查看>>
0x02 mysql 表格相关操作
查看>>
采购申请->MRP
查看>>
双击进入物料数据的指定视图
查看>>
配置mysql主从服务器
查看>>
建立一个php 基础类
查看>>
JAVA常见工具配置
查看>>
Cannot find snapshot in models/VGGNet/VOC0712/SSD_300x300
查看>>
深入理解jQuery插件开发【转】
查看>>
0 - python简介
查看>>
第20章 使用LNMP架构部署动态网站环境
查看>>
meson 中调用shell script
查看>>
相关博客
查看>>
Servlet运行原理以及生命周期
查看>>
Linux学习之三-Linux系统的一些重要配置文件
查看>>
转 [JAVA] 使用 common-fileupload 实现文件上传
查看>>