zoukankan      html  css  js  c++  java
  • weiphp 微调研数据管理控制器

      1 <?php
      2 
      3 namespace AddonsSurveyController;
      4 
      5 use HomeControllerAddonsController;
      6 
      7 class AnswerController extends AddonsController {        //调研回复的方法控制器
      8     var $model;        //定义模型变量
      9     var $survey_id;        //调用的调研id
     10     function _initialize() {        //初始化
     11         parent::_initialize();        //调用父级初始化方法
     12         
     13         $this->model = $this->getModel ( 'survey_answer' );        //获取模型数据
     14         
     15         $param ['survey_id'] = $this->survey_id = intval ( $_REQUEST ['survey_id'] );        //获取调研的id
     16         
     17         $res ['title'] = '微调研';        //标题
     18         $res ['url'] = addons_url ( 'Survey://Survey/lists' );        //列表页功能选项url
     19         $res ['class'] = '';
     20         $nav [] = $res;        //返回数组
     21         
     22         $res ['title'] = '数据管理';        //功能标题
     23         $res ['url'] = addons_url ( 'Survey://Answer/lists', $param );        //功能选项url
     24         $res ['class'] = 'current';        //模版标签属性值
     25         $nav [] = $res;        //返回数组
     26         
     27         $this->assign ( 'nav', $nav );        //分配给前台显示
     28     }
     29     // 通用插件的列表模型
     30     public function lists() {        //列表方法
     31         $this->assign ( 'add_button', false );        //设置按钮不显示
     32         $this->assign ( 'search_button', false );        //定义按钮不显示
     33         $this->assign ( 'del_button', false );        //定义按钮不显示
     34         $this->assign ( 'check_all', false );        //定义按钮不显示
     35         
     36         // 解析列表规则
     37         $data = $this->_list_grid ( $this->model );        //从model中获取模型规则
     38         $this->assign ( $data );        //分配给模型显示
     39         
     40         // 搜索条件
     41         $map = $this->_search_map ( $this->model, $data ['fields'] );
     42         
     43         $name = parse_name ( get_table_name ( $this->model ['id'] ), true );    //获得调研id对应的表名
     44         $list = M ( $name )->where ( $map )->order ( 'id DESC' )->group ( 'uid' )->selectPage ();        //查询数据
     45         foreach ( $list ['list_data'] as &$vo ) {        //遍历数据数组
     46             $member = get_memberinfo ( $vo ['uid'] );        //设置$member等于从member表查到的用户信息
     47             if (empty ( $member )) {    //若上面查到的信息为空
     48                 $member = get_followinfo ( $vo ['uid']  );        //$member等于从follow表查到的用户信息
     49             }
     50             $vo ['truename'] = $member ['truename'];    //组装数组中的truename值
     51             $vo ['mobile'] = $member ['mobile'];        //组装数组中的mobile值
     52         }
     53         
     54         $this->assign ( $list );        //把数据分配给模版
     55         
     56         $this->display ();        //调用模板显示
     57     }
     58     function detail() {        //回答内容管理
     59         $this->assign ( 'add_button', false );        //按钮不显示
     60         $this->assign ( 'search_button', false );        //按钮不显示
     61         $this->assign ( 'del_button', false );        //按钮不显示
     62         $this->assign ( 'check_all', false );        //按钮不显示
     63         
     64         // 解析列表规则
     65         $fields [] = 'question';    //设置lists模版显示的数据中fields字段
     66         $fields [] = 'answer';    //设置lists模版显示的数据中fields字段
     67         
     68         $girds ['field'] [0] = 'question';    //设置lists模版显示的数据中list_grids字段
     69         $girds ['title'] = '问题';
     70         $list_data ['list_grids'] [] = $girds;
     71         
     72         $girds ['field'] [0] = 'answer';    //设置lists模版显示的数据中list_grids字段
     73         $girds ['title'] = '回答内容';
     74         $list_data ['list_grids'] [] = $girds;
     75         
     76         $list_data ['fields'] = $fields;    //设置lists模版显示的数据中fields字段
     77         $this->assign ( $list_data );        //数据分配给模板
     78         
     79         $map ['survey_id'] = intval ( $_REQUEST ['survey_id'] );        //获取并转换调研的id
     80         $questions = M ( 'survey_question' )->where ( $map )->select ();        //查询数据库,获取调研的问题信息
     81         foreach ( $questions as $q ) {        //遍历数据数组,赋值给各个变量
     82             $title [$q ['id']] = $q ['title'];
     83             $type [$q ['id']] = $q ['type'];
     84             $extra [$q ['id']] = parse_config_attr ( $q ['extra'] );
     85         }
     86         
     87         $map ['uid'] = intval ( $_REQUEST ['uid'] );        //获取UID
     88         $answers = M ( 'survey_answer' )->where ( $map )->select ();    //查询survey_answer
     89         foreach ( $answers as $a ) {        //遍历$answers
     90             $qid = $a ['question_id'];        //设置变量$qid
     91             $data ['question'] = $title [$qid];        //设置变量$data
     92             $value = unserialize ( $a ['answer'] );        //设置变量value
     93             switch ($type [$qid]) {        //判断并组装数组data分配给前台显示
     94                 case 'radio' :        //单选情况
     95                     $data ['answer'] = $extra [$qid] [$value];
     96                     break;
     97                 case 'checkbox' :        //多选情况
     98                     foreach ( $value as $v ) {        //遍历
     99                         $data ['answer'] [] = $extra [$qid] [$v];
    100                     }
    101                     $data ['answer'] = implode ( ',', $data ['answer'] );
    102                     break;
    103                 default :
    104                     $data ['answer'] = $value;
    105             }
    106             $list [] = $data;
    107             unset ( $data );
    108         }
    109         $this->assign ( 'list_data', $list );        //数组传给模板
    110         
    111         $this->display ( T ( 'lists' ) );    //显示
    112     }
    113     
    114     // 通用插件的删除模型
    115     public function del() {
    116         parent::common_del ( $this->model );
    117     }
    118 }
  • 相关阅读:
    Android 事件
    Android Menu
    Android ActionBar
    Android 布局
    so打包进APK
    android如何与服务器交互?
    如何检测单个APP的耗电量
    求大神给解决下,向已有的xml文件写入数据,但不覆盖文件存在的内容
    关于findViewById返回空指针的错误
    android客户端向服务器发送图片和文字,类似于发微博。能用json格式发送吗?
  • 原文地址:https://www.cnblogs.com/dennr/p/4625824.html
Copyright © 2011-2022 走看看