weiphp 微调研数据管理控制器
2015-07-07 01:05
495 查看
<?php namespace Addons\Survey\Controller; use Home\Controller\AddonsController; class AnswerController extends AddonsController { //调研回复的方法控制器 var $model; //定义模型变量 var $survey_id; //调用的调研id function _initialize() { //初始化 parent::_initialize(); //调用父级初始化方法 $this->model = $this->getModel ( 'survey_answer' ); //获取模型数据 $param ['survey_id'] = $this->survey_id = intval ( $_REQUEST ['survey_id'] ); //获取调研的id $res ['title'] = '微调研'; //标题 $res ['url'] = addons_url ( 'Survey://Survey/lists' ); //列表页功能选项url $res ['class'] = ''; $nav [] = $res; //返回数组 $res ['title'] = '数据管理'; //功能标题 $res ['url'] = addons_url ( 'Survey://Answer/lists', $param ); //功能选项url $res ['class'] = 'current'; //模版标签属性值 $nav [] = $res; //返回数组 $this->assign ( 'nav', $nav ); //分配给前台显示 } // 通用插件的列表模型 public function lists() { //列表方法 $this->assign ( 'add_button', false ); //设置按钮不显示 $this->assign ( 'search_button', false ); //定义按钮不显示 $this->assign ( 'del_button', false ); //定义按钮不显示 $this->assign ( 'check_all', false ); //定义按钮不显示 // 解析列表规则 $data = $this->_list_grid ( $this->model ); //从model中获取模型规则 $this->assign ( $data ); //分配给模型显示 // 搜索条件 $map = $this->_search_map ( $this->model, $data ['fields'] ); $name = parse_name ( get_table_name ( $this->model ['id'] ), true ); //获得调研id对应的表名 $list = M ( $name )->where ( $map )->order ( 'id DESC' )->group ( 'uid' )->selectPage (); //查询数据 foreach ( $list ['list_data'] as &$vo ) { //遍历数据数组 $member = get_memberinfo ( $vo ['uid'] ); //设置$member等于从member表查到的用户信息 if (empty ( $member )) { //若上面查到的信息为空 $member = get_followinfo ( $vo ['uid'] ); //$member等于从follow表查到的用户信息 } $vo ['truename'] = $member ['truename']; //组装数组中的truename值 $vo ['mobile'] = $member ['mobile']; //组装数组中的mobile值 } $this->assign ( $list ); //把数据分配给模版 $this->display (); //调用模板显示 } function detail() { //回答内容管理 $this->assign ( 'add_button', false ); //按钮不显示 $this->assign ( 'search_button', false ); //按钮不显示 $this->assign ( 'del_button', false ); //按钮不显示 $this->assign ( 'check_all', false ); //按钮不显示 // 解析列表规则 $fields [] = 'question'; //设置lists模版显示的数据中fields字段 $fields [] = 'answer'; //设置lists模版显示的数据中fields字段 $girds ['field'] [0] = 'question'; //设置lists模版显示的数据中list_grids字段 $girds ['title'] = '问题'; $list_data ['list_grids'] [] = $girds; $girds ['field'] [0] = 'answer'; //设置lists模版显示的数据中list_grids字段 $girds ['title'] = '回答内容'; $list_data ['list_grids'] [] = $girds; $list_data ['fields'] = $fields; //设置lists模版显示的数据中fields字段 $this->assign ( $list_data ); //数据分配给模板 $map ['survey_id'] = intval ( $_REQUEST ['survey_id'] ); //获取并转换调研的id $questions = M ( 'survey_question' )->where ( $map )->select (); //查询数据库,获取调研的问题信息 foreach ( $questions as $q ) { //遍历数据数组,赋值给各个变量 $title [$q ['id']] = $q ['title']; $type [$q ['id']] = $q ['type']; $extra [$q ['id']] = parse_config_attr ( $q ['extra'] ); } $map ['uid'] = intval ( $_REQUEST ['uid'] ); //获取UID $answers = M ( 'survey_answer' )->where ( $map )->select (); //查询survey_answer foreach ( $answers as $a ) { //遍历$answers $qid = $a ['question_id']; //设置变量$qid $data ['question'] = $title [$qid]; //设置变量$data $value = unserialize ( $a ['answer'] ); //设置变量value switch ($type [$qid]) { //判断并组装数组data分配给前台显示 case 'radio' : //单选情况 $data ['answer'] = $extra [$qid] [$value]; break; case 'checkbox' : //多选情况 foreach ( $value as $v ) { //遍历 $data ['answer'] [] = $extra [$qid] [$v]; } $data ['answer'] = implode ( ',', $data ['answer'] ); break; default : $data ['answer'] = $value; } $list [] = $data; unset ( $data ); } $this->assign ( 'list_data', $list ); //数组传给模板 $this->display ( T ( 'lists' ) ); //显示 } // 通用插件的删除模型 public function del() { parent::common_del ( $this->model ); } }
相关文章推荐
- yii2的验证规则
- laravel的安装
- php tp验证表单与自动填充函数
- TPC-DS 生成数据
- php实现的任意进制互转类分享
- 一张表搞清楚php is_null、empty、isset的区别
- PHP导入导出Excel代码
- php抽象类用法实例分析
- php类的定义与继承用法实例
- 2015 PHP框架调查结果出炉,Laravel最受欢迎!
- 【php】【集基础】【namespace】
- php curl 及其参数
- phpstorm如何删除项目
- Yii源码之import小析
- PHP configure: error: mcrypt.h not found. Please reinstall libmcrypt.(转)
- PHP动态图像处理
- 2.2 Zend_Controller 基础
- 2. Zend_Controller 快速入门
- mutt+msmtp 配置
- 升级phpnow自带的php版本到5.3的方法