/** +---------------------------------------------------------- * 根据表单生成查询条件 * 进行列表过滤 +---------------------------------------------------------- * @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; }
/** +---------------------------------------------------------- * 根据表单生成查询条件 * 进行列表过滤 +---------------------------------------------------------- * @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; }