Example #1
0
 /**
      +----------------------------------------------------------
 * 根据表单生成查询条件
 * 进行列表过滤
      +----------------------------------------------------------
 * @access protected
      +----------------------------------------------------------
 * @param Model $model 数据对象
 * @param HashMap $map 过滤条件
 * @param string $sortBy 排序
 * @param boolean $asc 是否正序
      +----------------------------------------------------------
 * @return void
      +----------------------------------------------------------
 * @throws ThinkExecption
      +----------------------------------------------------------
 */
 protected function _list($model, $map, $sortBy = '', $asc = true)
 {
     if ($this->_get('_')) {
         unset($_SESSION['maps']);
         unset($_SESSION['tpls']);
     }
     $pk = $model->getPk();
     $dbArray = $model->getDbFields();
     unset($dbArray['_autoinc']);
     // _autoinc 表示主键是否自动增长类型
     unset($dbArray['_pk']);
     //_pk 表示主键字段名称
     $order = "";
     if (in_array("sort", $dbArray)) {
         $order .= "sort desc,";
     }
     $order .= $pk . " desc";
     if ($map) {
         $_SESSION['maps'] = $map;
     }
     $map = $_SESSION['maps'];
     if ($_POST['moshi'] == 2) {
         $_SESSION['tpls'] = 'touxiang';
     }
     if ($_POST['moshi'] == 1) {
         unset($_SESSION['tpls']);
     }
     //print_r($map);
     //取得满足条件的记录数
     $count = $model->where($map)->count('id');
     if ($count > 0) {
         import("@.ORG.Util.Page");
         //创建分页对象
         if (!empty($_REQUEST['listRows'])) {
             $listRows = $_REQUEST['listRows'];
         } else {
             $listRows = '';
         }
         $p = new Page($count, $listRows);
         $pageNum = empty($_REQUEST['numPerPage']) ? C('PAGE_LISTROWS') : $_REQUEST['numPerPage'];
         //分页查询数据
         $voList = $model->where($map)->order($order)->limit($pageNum)->page($_REQUEST[C('VAR_PAGE')])->select();
         //分页跳转的时候保证查询条件
         foreach ($map as $key => $val) {
             if (!is_array($val)) {
                 $p->parameter .= "{$key}=" . urlencode($val) . "&";
             }
         }
         //分页显示
         $page = $p->show();
         //print_r($voList);
         //模板赋值显示
         $this->assign('list', $voList);
         $this->assign('sort', $sort);
         $this->assign('order', $order);
         $this->assign('sortImg', $sortImg);
         $this->assign('sortType', $sortAlt);
         $this->assign("page", $page);
     }
     //echo $model->getLastSql();
     //echo 11111;
     //zhanghuihua@msn.com
     $this->assign('totalCount', $count);
     //lxz
     $pageNum = empty($_REQUEST['numPerPage']) ? C('PAGE_LISTROWS') : $_REQUEST['numPerPage'];
     $this->assign('numPerPage', $pageNum);
     //每页显示多少条
     $this->assign('currentPage', !empty($_REQUEST[C('VAR_PAGE')]) ? $_REQUEST[C('VAR_PAGE')] : 1);
     Cookie::set('_currentUrl_', __SELF__);
     if ($_SESSION['tpls'] == 'touxiang') {
         $this->display($_SESSION['tpls']);
         exit;
     }
     return;
 }
Example #2
0
 /**
      +----------------------------------------------------------
 * 根据表单生成查询条件
 * 进行列表过滤
      +----------------------------------------------------------
 * @access protected
      +----------------------------------------------------------
 * @param Model $model 数据对象
 * @param HashMap $map 过滤条件
 * @param string $sortBy 排序
 * @param boolean $asc 是否正序
      +----------------------------------------------------------
 * @return void
      +----------------------------------------------------------
 * @throws ThinkExecption
      +----------------------------------------------------------
 */
 protected function _list($model, $map, $sortBy = '', $asc = true)
 {
     $pk = $model->getPk();
     $dbArray = $model->getDbFields();
     unset($dbArray['_autoinc']);
     // _autoinc 表示主键是否自动增长类型
     unset($dbArray['_pk']);
     //_pk 表示主键字段名称
     $order = "";
     if (in_array("sort", $dbArray)) {
         $order .= "sort desc,";
     }
     $order .= $pk . " desc";
     //取得满足条件的记录数
     $count = $model->where($map)->count('id');
     if ($count > 0) {
         import("@.ORG.Util.Page");
         //创建分页对象
         if (!empty($_REQUEST['listRows'])) {
             $listRows = $_REQUEST['listRows'];
         } else {
             $listRows = '';
         }
         $p = new Page($count, $listRows);
         $pageNum = empty($_REQUEST['numPerPage']) ? C('PAGE_LISTROWS') : $_REQUEST['numPerPage'];
         //分页查询数据
         $voList = $model->where($map)->order($order)->limit($pageNum)->page($_REQUEST[C('VAR_PAGE')])->select();
         //分页跳转的时候保证查询条件
         foreach ($map as $key => $val) {
             if (!is_array($val)) {
                 $p->parameter .= "{$key}=" . urlencode($val) . "&";
             }
         }
         //分页显示
         $page = $p->show();
         $name = $this->getActionName();
         if ($name == 'Rleave') {
             foreach ($voList as $k => $v) {
                 $voList[$k] = $v;
                 $user = M('student')->where("id = {$v['sid']}")->find();
                 $voList[$k]['account'] = $user['account'];
                 $voList[$k]['class_id'] = $user['class_id'];
                 $voList[$k]['nickname'] = $user['nickname'];
                 $voList[$k]['gender'] = $user['gender'];
                 $voList[$k]['tel'] = $user['tel'];
             }
         }
         //模板赋值显示
         $this->assign('list', $voList);
         $this->assign('sort', $sort);
         $this->assign('order', $order);
         $this->assign('sortImg', $sortImg);
         $this->assign('sortType', $sortAlt);
         $this->assign("page", $page);
     }
     //zhanghuihua@msn.com
     $this->assign('totalCount', $count);
     //lxz
     $pageNum = empty($_REQUEST['numPerPage']) ? C('PAGE_LISTROWS') : $_REQUEST['numPerPage'];
     $this->assign('numPerPage', $pageNum);
     //每页显示多少条
     $this->assign('currentPage', !empty($_REQUEST[C('VAR_PAGE')]) ? $_REQUEST[C('VAR_PAGE')] : 1);
     Cookie::set('_currentUrl_', __SELF__);
     return;
 }