public function goods_list() { $perpage = 10; $page = intval(I("get." . (C('VAR_PAGE') ? C('VAR_PAGE') : 'p'))) ? intval(I('get.' . (C('VAR_PAGE') ? C('VAR_PAGE') : 'p'))) : 1; $limit = ($page - 1) * $perpage . "," . $perpage; $cate1 = D("GoodsCategory")->cate1_list(); $this->assign('cate1', $cate1); if ($_GET) { $cate1_id = I('get.cate1_id', 0); $cate2_id = I('get.cate2_id', 0); $cate3_id = I('get.cate3_id', 0); $key_word = I('get.key_word', ''); if ($cate1_id > 0) { $where['cate1_id'] = $cate1_id; // 分类信息 $where2['cht_category2.cate1_id'] = $cate1_id; $cate2 = D("GoodsCategory")->cate2_list($where2); } else { $where2['cht_category2.cate1_id'] = $cate1[0]['id']; $cate2 = D("GoodsCategory")->cate2_list($where2); } if ($cate2_id > 0) { $where['cate2_id'] = $cate2_id; $where3['cht_category3.cate2_id'] = $cate2_id; $cate3 = D("GoodsCategory")->cate3_list($where3); } else { $where3['cht_category3.cate2_id'] = $cate2[0]['id']; $cate3 = D("GoodsCategory")->cate3_list($where3); } if ($cate3_id > 0) { $where['cate3_id'] = $cate3_id; } if ($key_word != '') { $where['goods_name'] = array('like', "%" . $key_word . "%"); } $where['store_id'] = UID; $where['is_show'] = 1; $goods = $this->_Model->goods_lists($where, $limit); $total = $this->_Model->goods_count($where); } else { // 分类信息 $where2['cht_category2.cate1_id'] = $cate1[0]['id']; $cate2 = D("GoodsCategory")->cate2_list($where2); $where3['cht_category3.cate2_id'] = $cate2[0]['id']; $cate3 = D("GoodsCategory")->cate3_list($where3); // 获取全部商品 $where = array('store_id' => UID, 'is_show' => 1); $goods = $this->_Model->goods_lists($where, $limit); $total = $this->_Model->goods_count($where); } $pageobj = new Page($total, $perpage); $pageobj->setConfig('prev', '上一页'); $pageobj->setConfig('next', '下一页'); $pageshow = $pageobj->show(); $this->assign('cate2', $cate2); $this->assign('cate3', $cate3); $this->assign("pageshow", $pageshow); $this->assign("goods", $goods); $this->display(); }
/** * 投稿管理 */ public function index() { $adminId = $_SESSION['AdminId']; if (empty($adminId) == true) { $this->error('请先登录', '/index.php/Root/User/login', 3); } $category = D('Category'); $video = D('Video'); $page = $_GET['p']; if (empty($page)) { $page = 1; } $videoList = $video->getVideoList($page); $categoryList = $category->getVideoCategory(); $videoCount = $video->getVideoCount(); $Page = new Page($videoCount, 6); // 实例化分页类 传入总记录数和每页显示的记录数 $Page->rollPage = 5; $Page->setConfig('header', $videoCount); $Page->setConfig('first', '1...'); $Page->setConfig('prev', '<<'); $Page->setConfig('next', '>>'); $Page->setConfig('theme', "<ul class='pagination'></li><li>%FIRST%</li><li>%UP_PAGE%</li><li>%LINK_PAGE%</li><li>%DOWN_PAGE%</li><li>%END%</li><li><a>共%HEADER%条记录</a></ul>"); $show = $Page->show(); // 分页显示输出 $this->assign('page', $show); // 赋值分页输出 $this->assign('categoryList', $categoryList); $this->assign('videoList', $videoList); $this->display(); }
public function index() { $perpage = 8; $page = intval(I("get." . (C('VAR_PAGE') ? C('VAR_PAGE') : 'p'))) ? intval(I('get.' . (C('VAR_PAGE') ? C('VAR_PAGE') : 'p'))) : 1; $limit = ($page - 1) * $perpage . "," . $perpage; $where = array('user_id' => UID); if ($_GET) { $key_word = I('get.key_word', ''); if ($key_word != '') { $where['title'] = array('like', "%" . $key_word . "%"); } $requirements = $this->_Model->requirement_lists($where, $limit); $total = $this->_Model->requirement_count($where); } else { // 获取当前买家需求 $requirements = $this->_Model->requirement_lists($where, $limit); $total = $this->_Model->requirement_count($where); } $pageobj = new Page($total, $perpage); $pageobj->setConfig('prev', '上一页'); $pageobj->setConfig('next', '下一页'); $pageshow = $pageobj->show(); $this->assign("pageshow", $pageshow); $this->assign("requirements", $requirements); $this->display(); }
function getPage($map) { $count = $this->where($map)->count(); $Page = new \Think\Page($count, 20); $Page->setConfig('prev', '上一页'); $Page->setConfig('next', '下一页'); $Page->setConfig('first', '第一页'); $Page->setConfig('last', '尾页'); $Page->setConfig('theme', '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%'); $show = $Page->show(); return $show; }
public function getPageResult($wheres = array()) { //默认条件,在调用该方法时不需要传入 $wheres['status'] = array('gt', -1); //查询条件 $pageHtml = ""; //准备分页工具条 $pageSize = 3; //每页显示条数 $totalRows = $this->where($wheres)->count(); //按条件查询出总条数 $page = new Page($totalRows, $pageSize); //实例化分页类 传入总记录数和每页显示的记录数 $page->setConfig('theme', '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%'); //%HEADER% 总共多少条记录 $pageHtml = $page->show(); //分页显示输出 if ($page->firstRow !== 0 && $page->firstRow > $totalRows) { //如果起始条数大于总条数,显示最后一页数据 起始条数(页码-1)*每页数 $page->firstRow = $totalRows - $page->listRows; //起始条数 =总条数-每页显示条数 加入数据库里面有12条 4 那么8 下面就会根据地九条查询 } $row = $this->where($wheres)->limit($page->firstRow . ',' . $page->listRows)->select(); //准备分页列表数据 return array('rows' => $row, 'pageHtml' => $pageHtml); }
/** * 得到分页要准备的数据 * @return array */ public function getPageResult($wheres = array()) { //排除伪删除的数据 $wheres['obj.status'] = array('gt', -1); //每页显示记录数和 $pageSize = 2; //伪删除之外的总的记录数 $this->alias('obj'); $totalRows = $this->where($wheres)->count(); //分页工具的实例化 $page = new Page($totalRows, $pageSize); //分页主题设置 $page->setConfig('theme', '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%'); //组装分页链接 $pageHtml = $page->show(); //当前页也数超过总页数的处理 if ($totalRows == 0) { //当总页数为0的情况 $page->firstRow = 0; } elseif ($page->firstRow >= $page->totalRows) { //当前页的起始行数大于等于总行数就显示最后一页的数据 $page->firstRow = $totalRows - $page->listRows; } //每页的要显示的数据 $this->alias('obj'); $this->_setModel(); $rows = $this->where($wheres)->limit($page->firstRow, $page->listRows)->select(); $this->_handleRows($rows); return array('rows' => $rows, 'pageHtml' => $pageHtml); }
public function getPageResult($where = array()) { //1.获取分页工具条数据 $where['status'] = array('gt', -1); $pageSize = 2; //每页显示条数 $totalRows = $this->where($where)->count(); // 总条数 $page = new Page($totalRows, $pageSize); //创建分页对象 if ($page->totalRows > $page->listRows) { $page->setConfig('theme', '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%'); } $pageHtml = $page->show(); //生成分页的html //2.准备分页列表显示数据 if ($page->firstRow > $totalRows) { //删除时当每页的起始条数大于等于总条数时,说明该页没数据了,该项前回退一页显示 // 或 $page->firstRow==$totalRows&&$totalRows!==0&&$totalRows>$page->listRows $page->firstRow = $totalRows - $page->listRows; //起始条数=总条数-每页显示条数 } $rows = $this->where($where)->limit($page->firstRow, $page->listRows)->select(); return array('rows' => $rows, 'pageHtml' => $pageHtml); }
public function index() { $perpage = 4; $page = intval(I("get." . (C('VAR_PAGE') ? C('VAR_PAGE') : 'p'))) ? intval(I('get.' . (C('VAR_PAGE') ? C('VAR_PAGE') : 'p'))) : 1; $limit = ($page - 1) * $perpage . "," . $perpage; // 开始查询对应的数据 $categorys = $this->_Model->category_lists($limit); $total = $this->_Model->category_count(); $pageobj = new Page($total, $perpage); $pageobj->setConfig('prev', '上一页'); $pageobj->setConfig('next', '下一页'); $pageshow = $pageobj->show(); $this->assign("pageshow", $pageshow); $this->assign("categorys", $categorys); $this->display(); }
public function getListWithPage($wheres = array()) { //定义pageRasult为数组,rows为每页数据显示,pageTool是分页工具条 //定义每页显示的数据的限制 status>-1 $this->alias('obj'); //设置表的别名,方便连表查询 $wheres['obj.status'] = array('gt', -1); //分页工具条 $totalRows = $this->where($wheres)->count(); $listRows = 5; //生成page对象,并设置分页工具条的显示状态 $pageModel = new Page($totalRows, $listRows); //设置分页工具条的外观 $pageModel->setConfig('theme', '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%'); $pageTool = $pageModel->show(); //如果总行数小于或等于每页起始行数,则将起始行数设置为总行数减去每页显示的行数 if ($totalRows <= $pageModel->firstRow) { $pageModel->firstRow = $totalRows - $listRows; if ($pageModel->firstRow <= 0) { $pageModel->firstRow = 0; } } $this->alias('obj'); //设置表的别名,方便连表查询 //设置连表查询的钩子方法 $this->_setModel(); //每页显示条数 $rows = $this->where($wheres)->limit($pageModel->firstRow, $pageModel->listRows)->select(); //设置钩子方法来修改rows中的数据 $this->_setRows($rows); //将结果返回 return array('rows' => $rows, 'pageTool' => $pageTool); }
public function getList($wheres = array()) { //查询条件为数据状态大于 -1 的数据 if (!empty($wheres)) { $wheres['status'] = array('gt', -1); } else { $wheres['status'] = array('gt', -1); } //获取分页的工具条 $totalRows = $this->where($wheres)->count(); //准备数数据状态大于-1的总条数 $listRows = 2; //确定每一页显示的数据条数 //实例化分页工具条的对像 $page = new Page($totalRows, $listRows); //>>判断是否要修改主题 if ($totalRows > $listRows) { $page->setConfig('theme', '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%'); } //存储分页的条件 $pageHtml = $page->show(); //>>每一页的数据删除完之后显示这页数据的上一页 //查询出每一页需要显示的数据 $this->limit($page->firstRow, $page->listRows)->where($wheres); $rows = parent::select(); return array('rows' => $rows, 'pageHtml' => $pageHtml); }
public function getPageResult($wheres = array()) { /* * 分页 * 1.分页工具条 * >>分页类Page(总条数count,每页记录数); * >>总条数count where(array('status',array('gt',-1)))->$model->count(); * >>每页记录数 自定义也可以配置文件设置 * 2.分页数据查询 排序 * >>limit(firstRow,listRow) */ //分页工具条 //$totalRows=where()->count(); $wheres['status'] = array('gt', -1); $totalRows = $this->where($wheres)->count(); $pageSize = 2; $page = new Page($totalRows, $pageSize); //更换主题 if ($page->totalRows > $page->listRows) { $page->setConfig('theme', '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%'); } //当起始行数大于总行数 /** * $page->firstRow 起始行数 * $page->totalRows 总行数 * $page->listRows 每页记录数 */ if ($page->firstRow >= $totalRows && $page->firstRow > 0) { $page->firstRow = $totalRows - $pageSize; } $pageHtml = $page->show(); //分页数据查询 $row = $this->where($wheres)->order('sort desc')->limit($page->firstRow, $page->listRows)->select(); return array('rows' => $row, 'pageHtml' => $pageHtml); }
public function course() { $this->seo_set('培训课程'); if (!empty($_GET['name'])) { $where['title'] = array('LIKE', '%' . str_rp(trim($_GET['name'])) . '%'); } $where['status'] = 1; $totalRows = D('CourseView')->where($where)->count(); $page = new Page($totalRows, 10); $page->setConfig('prev', '上一页'); $page->setConfig('next', '下一页'); $page->setConfig('first', '首页'); $page->setConfig('last', '尾页'); $this->list = D('CourseView')->limit($page->firstRow . ',' . $page->listRows)->where($where)->order('asort DESC,addtime DESC')->select(); $this->assign('page_show', $page->show()); $this->cget = $_GET; $this->display(); }
/** * 首页 */ public function index() { $category = D('Category'); $slide = D('Slide'); $video = D('Video'); $Video = M('Video'); $user = D('User'); $userId = $_SESSION['userId']; $userInfo = null; if (empty($userId) == false) { $userInfo = $user->getUserInfo($userId); } $p = $_GET['p']; if (empty($p)) { $p = 1; } $categoryList = $category->getVideoCategory(); $slideList = $slide->getSlide(); $topVideo = $video->getPopVideo(2); $newVideo = $Video->where('videoStatus = 1')->order('createTime desc')->page($p . ',6')->select(); $newCount = count($newVideo); for ($i = 0; $i < $newCount; $i++) { $newVideo[$i]['labels'] = explode(',', $newVideo[$i]['videoLabel']); } $count = count($Video->where('videoStatus = 1')->select()); $Page = new Page($count, 6); $Page->rollPage = 5; $Page->setConfig('header', $count); $Page->setConfig('first', '1...'); $Page->setConfig('prev', '<<'); $Page->setConfig('next', '>>'); $Page->setConfig('theme', "<ul class='pagination'></li><li>%FIRST%</li><li>%UP_PAGE%</li><li>%LINK_PAGE%</li><li>%DOWN_PAGE%</li><li>%END%</li><li><a>共%HEADER%条记录</a></ul>"); $show = $Page->show(); $this->assign('categoryList', $categoryList); $this->assign('slideList', $slideList); $this->assign('topVideoList', $topVideo); $this->assign('newVideoList', $newVideo); $this->assign('page', $show); $this->assign('userInfo', $userInfo); $this->display(); }
public function showPage() { //导航栏标题的平均分配 $sql = M('news_main'); $where['type_id'] = 0; $count = $sql->where($where)->count(); $this->assign('count', $count); //导航栏的显示 $sql = M('news_main'); $allResult = $sql->order("type_id,news_id asc")->select(); $where['type_id'] = 0; $result = $sql->where($where)->order("news_id asc")->select(); $this->assign('result', $result); $type = 0; $cas = 0; foreach ($allResult as $key => $val) { if ($allResult[$key]['type_id'] != $type) { $type = $allResult[$key]['type_id']; $cas = 0; } if ($allResult[$key]['count'] == 0) { $result1[$allResult[$key]['type_id']][$cas++] = $val; } } $this->assign('result1', $result1); //侧栏显示 $sql = M('home_page'); $whereP['type_id'] = 0; $whereP['news_id'] = array(neq, 3); $allPageResult = $sql->where($whereP)->order("news_id asc")->select(); $this->assign('PageResult', $allPageResult); //分页 list显示 import("ORG.Util.Page"); //导入分页助手类 $id = intval($_GET['type_id']); $sql = M('home_page'); $where_list['type_id'] = $id; $total = $sql->where($where_list)->count(); $num_per_page = 10; $page = new Page($total, $num_per_page); $page->setConfig('header', '篇文章'); $show = $page->show(); $PageContent = $sql->where($where_list)->limit("{$page->firstRow},{$page->listRows}")->order("addtime desc")->select(); $this->assign('Pagecontent', $PageContent); foreach ($allPageResult as $key => $val) { if ($val['news_id'] == $id) { $Type_Title = $val['title']; } } $this->assign('Type_Title', $Type_Title); $this->assign('show', $show); $this->display(); }
/** * 查询问题列表 * @param int $p 页码 */ public function index($p = 1) { // 分页信息 if ($p == 1) { $total = M('question')->count(); $_SESSION["question.total"] = $total; } $page = new \Think\Page($_SESSION["question.total"], C('PAGESIZE')); $page->setConfig('prev', 'prev'); $page->setConfig('next', 'next'); $page->setConfig('first', 'first'); $show = $page->show(); //dump($show); // 通过执行存储过程高效查询分页数据 // 将问题关联的tag 采用GROUP_CONCAT 有效减少数据库查询次数 $query = "call proc_question_orderby_votes_desc({$page->firstRow},{$page->listRows}) "; $questions = M('question')->query($query); // dump($questions); $this->assign('page', $show); $this->assign('questions', $questions); $this->display(); }
/** * 获取内容 * @param array $where 查询条件 * @param string $order 排序条件 * @param int $limit * @param mix $field * @param array $page_params 分页格式 具体格式参照Page类 */ public function getList($where = array(), $order = "id desc", $limit = 20, $field = true, $page_params = array()) { $where['siteid'] = get_siteid(); $page = isset($_GET['p']) ? intval($_GET['p']) : 1; $list = $this->field($field)->where($where)->order($order)->page($page . ', ' . $limit)->select(); $count = $this->where($where)->count(); $Page = new Page($count, $limit); if (!empty($page_params) && is_array($page_params)) { foreach ($page_params as $key => $param) { $Page->setConfig($key, $param); } } $show = $Page->show(); return array("data" => $list, "page" => $show); }
public function getPageResult($keyword, $supplier_id, $brand_id, $goods_category_id, $leaf) { if ($keyword) { $keyword = urldecode($keyword); } $wheres = array('obj.status' => array('gt', -1), 'obj.name' => array('like', "%{$keyword}%")); if (!empty($supplier_id)) { $wheres['obj.supplier_id'] = $supplier_id; } if (!empty($brand_id)) { $wheres['obj.brand_id'] = $brand_id; } if (!empty($goods_category_id) && !empty($leaf)) { $wheres['obj.goods_category_id'] = array('in', $leaf); } $this->alias('obj'); $totalRows = $this->where($wheres)->count(); //总条数 $listRows = 2; //每页显示的条数 $page = new Page($totalRows, $listRows); //thinkPHP的分页类 $totalPages = ceil($page->totalRows / $page->listRows); //分页的总页数 foreach ($page->parameter as $key => $value) { $page->parameter[$key] = urldecode($value); } /** * 为了保证当前页如果只有1条数据 删除后不会停留在当前页 而是回到删除后的最后一页 */ if ($page->parameter['p'] > $totalPages) { //如果当前页码大于总页数 $page->firstRow = $page->totalRows - $page->listRows; //分页的起始页就等于总条数-每页显示条数 } $this->alias('obj'); //用来进行连接表查询 $this->_setModel(); $page->setConfig('theme', '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%'); //thinkphp分页主题 $pageHtml = $page->show(); //生成分页工具条html $rows = $this->where($wheres)->limit($page->firstRow, $page->listRows)->select(); //分页数据列表 //处理$rows中的数据 将goods_status 变成三种状态 $this->_handleRows($rows); return array('rows' => $rows, 'pageHtml' => $pageHtml, 'keyword' => $keyword); }
public function contentList($where = array(), $order = "id desc", $limit = 20, $page_params = array()) { $module_fields = $this->getListFields(); $list_fields = array('id', 'listorder'); $list_fields = array_merge($list_fields, array_translate($module_fields, 'fieldid', 'field')); array_push($list_fields, 'inputtime', 'updatetime'); $content = $this->field($list_fields)->where(array_merge(array('siteid' => get_siteid()), $where))->order($order)->page((isset($_GET['p']) ? $_GET['p'] : 0) . ', ' . $limit)->select(); $count = $this->where(array_merge(array('siteid' => get_siteid()), $where))->count(); $Page = new Page($count, $limit); if ($page_params) { foreach ($page_params as $key => $param) { $Page->setConfig($key, $param); } } $show = $Page->show(); return array("data" => $content, "page" => $show); }
/** * 分页方法 * 返回分页数据 * $pageResult=array( * $rows 分页列表数据(二维数组), * $pageHTML 分页工具条的html代码, * ) */ public function getPageResult($wheres = array()) { //>>把thinkPHP的mysql查询where条件保存到$weheres变量中 $wheres['obj.status'] = array('gt', -1); /*准备分页工具条HTML*/ //>>得到数据表的可显示数据总条数 $this->alias('obj'); //给当前模型对应的数据表取一个别名(alias为表取别名的方法) $totalRows = $this->where($wheres)->count(); //>>设置每页显示的数据条数 $pageSize = 2; //>>使用thinkPHP自带分页类,创建分页对象 $page = new Page($totalRows, $pageSize); //>>分页跳转的时候保证查询条件 /*dump($wheres); foreach($wheres as $key=>$val) { $page->parameter .= "$key=".urlencode($val).'&'; dump("$key=".urlencode($val)); } $page->parameter['keyword']=urlencode($keyword);*/ //>>设置分页主题样式 $page->setConfig('theme', "%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%"); //>>得到分页html代码 $pageHTML = $page->show(); /*准备分页列表数据*/ //>>判断当分页起始查询条数大于数据总条数时(防止url被人为修改分页p参数造成的错误和删除最后一页的唯一一条数据时最后一页没有数据要向前显示一页) if ($page->firstRow <= 0) { $page->firstRow = 0; } elseif ($page->firstRow >= $totalRows) { //>>此时设置分页页面显示最后一页数据 $page->firstRow = $totalRows - $page->listRows; //数据表中数据总条数减去一页的数据条数 //>>判断当分页起始查询条数小于0时 } //>>查询出分页每页显示数据($page->$firstRow;起始行数 $page->$listRows;列表每页显示行数) $this->alias('obj'); //给当前模型对应的数据表取一个别名(alias为表取别名的方法) $this->_setModel(); //自定义的钩子方法(用于子类添加功能代码) $rows = $this->where($wheres)->limit($page->firstRow, $page->listRows)->select(); //对rows中的数据进一步处理(钩子方法) $this->_handleRows($rows); //>>返回数组$pageResult=array($rows 分页列表数据(二维数组),$pageHTML 分页工具条的html代码) return array('rows' => $rows, 'pageHTML' => $pageHTML); }
public function showSearch() { //导航栏标题的平均分配 $sql = M('news_main'); $where['type_id'] = 0; $count = $sql->where($where)->count(); $this->assign('count', $count); //导航栏的显示 $sql = M('news_main'); $allResult = $sql->order("type_id,news_id asc")->select(); $where['type_id'] = 0; $result = $sql->where($where)->order("news_id asc")->select(); $this->assign('result', $result); $type = 0; $cas = 0; foreach ($allResult as $key => $val) { if ($allResult[$key]['type_id'] != $type) { $type = $allResult[$key]['type_id']; $cas = 0; } if ($allResult[$key]['count'] == 0) { $result1[$allResult[$key]['type_id']][$cas++] = $val; } } $this->assign('result1', $result1); //分页 list显示 import("ORG.Util.Page"); //导入分页助手类 $val = $_POST['val']; $keywords = '%' . $val . '%'; $sql = M('home_page'); $whereS['title|content'] = array('like', $keywords); $total = $sql->where($whereS)->count(); $num_per_page = 10; $page = new Page($total, $num_per_page); $page->setConfig('header', '篇文章'); $show = $page->show(); $PageContent = $sql->where($whereS)->limit("{$page->firstRow},{$page->listRows}")->order("addtime desc")->select(); $this->assign('Pagecontent', $PageContent); $this->assign('show', $show); $this->display(); }
public function mobile_content_list($where = array(), $order = "id desc", $limit = 10, $page_params = array()) { $page_num = isset($_GET['p']) ? $_GET['p'] : 1; $news = $this->where(array_merge(array('siteid' => get_siteid()), $where))->order($order)->page($page_num . ', ' . $limit)->select(); $news_temp = array(); foreach ($news as $key => $value) { $value['url'] = U('Content/show', "catid=" . $value['catid'] . "&id=" . $value['id']); $news_temp[$value['id']] = $value; } unset($news); $count = $this->where(array_merge(array('siteid' => get_siteid()), $where))->count(); $Page = new Page($count, $limit); if ($page_params) { foreach ($page_params as $key => $param) { $Page->setConfig($key, $param); } } $show = $Page->show(); $next_page_num = ceil($count / $limit) - $page_num; return array('status' => 'success', 'message' => $news_temp, 'next_page_num' => $next_page_num, 'finished' => $finished, 'pages' => $show); }
public function getPageMsg($wheres = array()) { if (array_key_exists('name', $wheres)) { $wheres['name'][1] = urldecode($wheres['name'][1]); } //得到status>-1的所有数据的总条数 if (in_array('status', $this->getDbFields())) { $wheres['status'] = array('gt', -1); } $count = $this->where($wheres)->count(); //实例化分页类 $pagesize = C('PAGE_SIZE') or 5; $Page = new Page($count, $pagesize); //设置分页条的格式,若总数据条数小于每页的条数,则不需要该工具条 if ($Page->totalRows > $Page->listRows) { //$Page->setConfig('header', '<span>共<b>%TOTAL_ROW%</b>条记录 第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</span>'); $Page->setConfig('theme', '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%'); } foreach ($Page->parameter as $key => $val) { $Page->parameter[$key] = urldecode($val); //如果你要模糊查询中文的话,要把urlencode()去掉 } $pagehtml = $Page->show(); //为了删除数据的时候,那一页没有数据,应该跳回前一页 if ($Page->firstRow >= $Page->totalRows) { $_GET['p'] = $Page->totalPages; $Page = new Page($count, $pagesize, array('p', $_GET['p'])); $pagehtml = $Page->show(); } //定义排序的原则 $orders = array(); if (in_array('sort', $this->getDbFields())) { $orders['sort'] = 'asc'; } //得到要展示到列表的数据 $pagelist = $this->where($wheres)->order($orders)->limit($Page->firstRow, $Page->listRows)->select(); //将$pagehtml 和 $pagelist放入一个数组中,返回 return $pageMsg = array('pagehtml' => $pagehtml, 'rows' => $pagelist); }
public function mypage($count, $pagenum) { $Page = new Page($count, $pagenum); $Page->setConfig('header', '共 %TOTAL_ROW% 条记录,%NOW_PAGE% / %TOTAL_PAGE% 页'); $Page->setConfig('prev', '上一页'); $Page->setConfig('first', '首页'); $Page->setConfig('last', '尾页'); $Page->setConfig('next', '下一页'); $Page->setConfig('theme', '<ul class="pagination pull-right"> <li>%FIRST%</li> <li>%UP_PAGE%</li> <li>%LINK_PAGE%</li> <li>%DOWN_PAGE%</li> <li>%END%</li> <li><a>%HEADER%</a></li> </ul>'); return $Page->show(); }
public function getPageResult($wheres = array()) { //获取列表数据 $wheres 是查询条件 array //查询出状态大于-1的数据 if (in_array('status', $this->getDbFields())) { $wheres['status'] = array('gt', -1); } //每页显示的条数 $pageSize = C('PAGE_SIZE') == null ? 5 : C('PAGE_SIZE'); $totalRows = $this->where($wheres)->count(); $page = new Page($totalRows, $pageSize); //总条数大于每页显示的条数时显示总条数 if ($page->totalRows >= $page->listRows) { $page->setConfig('theme', '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%'); } // foreach($wheres as $key=>$val) { // $page->parameter .= "$key=".urldecode($val).'&'; // } // if(in_array('keyword',$wheres)){ // $page->parameter .= "keyword=".urlencode($wheres['keyword']).'&'; // } //生成分页的html $pageHtml = $page->show(); //查出每页显示的数据 // $firstRow; 起始行数 // $listRows; 列表每页显示行数 $orders = array(); if (is_array('sort', $this->getDbFields())) { $orders['sort'] = 'asc'; } if ($page->firstRow >= $totalRows && $page->firstRow >= 1) { $page->firstRow = $totalRows - $page->listRows; } $row = $this->order($orders)->where($wheres)->limit($page->firstRow, $page->listRows)->select(); return array('rows' => $row, 'pageHtml' => $pageHtml); }
/** * array( * 'rows'=>查询出的状态>-1的数据 * 'pageHtml'=> 分页条页面 * ) */ public function getPageResult($wheres = array()) { // 整个页面显示总条数(>-1)的状态不显示 $wheres['status'] = array('gt', -1); //>>1. 分页条页面 $totalRows = $this->where($wheres)->count(); //每页显示的条数 $listRows = 2; $page = new Page($totalRows, $listRows); if ($page->firstRow >= $totalRows) { //如果起始条数大于总条数(5>4) //生成最后一页的起始条数=总条数-每页显示条数 $page->firstRow = $totalRows - $listRows; } // //将传入的解译的文字条件转为文字 // foreach ($wheres['name'] as $key => $val) { // $page->parameter .= "$key=" . urldecode($val) . '&'; // } $page->setConfig('theme', '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%'); $pageHtml = $page->show(); //>>2. 查询出的状态>-1的数据 $rows = $this->where($wheres)->limit($page->firstRow, $listRows)->select(); return array('rows' => $rows, 'pageHtml' => $pageHtml); }
public function index() { $count = M('project')->count(); $page = new Page($count, 4); $page->setConfig('header', '共%TOTAL_ROW%条'); $page->setConfig('first', '首页'); $page->setConfig('last', '共%TOTAL_PAGE%页'); $page->setConfig('prev', '上一页'); $page->setConfig('next', '下一页'); $page->setConfig('theme', '%HEADER% %FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%'); $show = $page->show(); if ($res = M('project')->limit($page->firstRow . ',' . $page->listRows)->select()) { for ($i = 0; $i < sizeof($res); $i++) { $res[$i]['url'] = U('Project/projectInfo', array('id' => $res[$i]['id'])); } $this->assign('project', $res); $this->assign('page', $show); } $this->display(); }
public function rongyu() { if ($res = M('address')->find('1')) { $this->assign('address', $res); } if ($res = M('rongyu')->select()) { $count = M('rongyu')->count(); $page = new Page($count, 8); $page->setConfig('header', '共%TOTAL_ROW%条'); $page->setConfig('first', '首页'); $page->setConfig('last', '共%TOTAL_PAGE%页'); $page->setConfig('prev', '上一页'); $page->setConfig('next', '下一页'); $page->setConfig('theme', '%HEADER% %FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%'); $show = $page->show(); if ($res = M('rongyu')->limit($page->firstRow . ',' . $page->listRows)->select()) { $this->assign('rongyu', $res); $this->assign('page', $show); } } $this->display(); }
public function seller_list() { $perpage = 8; $page = intval(I("get." . (C('VAR_PAGE') ? C('VAR_PAGE') : 'p'))) ? intval(I('get.' . (C('VAR_PAGE') ? C('VAR_PAGE') : 'p'))) : 1; $limit = ($page - 1) * $perpage . "," . $perpage; if ($_GET) { $set_year = I('get.set_year', 0); $set_month = I('get.set_month', 0); $key_word = I('get.key_word', ''); if ($set_year > 0) { $where['set_year'] = $set_year; } if ($set_month > 0) { $where['set_month'] = $set_month; } if ($key_word != '') { $where['title'] = array('like', "%" . $key_word . "%"); } // 获取搜索条件下的买家团购 $where['group_type'] = 3; $groupbuyings = $this->_Model->groupbuying_lists($where, $limit); $total = $this->_Model->groupbuying_count($where); } else { // 获取全部买家团购 $where = array('group_type' => 3); $groupbuyings = $this->_Model->groupbuying_lists($where, $limit); $total = $this->_Model->groupbuying_count($where); } $pageobj = new Page($total, $perpage); $pageobj->setConfig('prev', '上一页'); $pageobj->setConfig('next', '下一页'); $pageshow = $pageobj->show(); $this->assign("pageshow", $pageshow); $this->assign("groupbuyings", $groupbuyings); $this->display(); }
public function store_buyer_list() { $status_arr = array('0' => '未审核', '1' => '已通过', '2' => '不通过'); $this->assign('status_arr', $status_arr); $perpage = 10; $page = intval(I("get." . (C('VAR_PAGE') ? C('VAR_PAGE') : 'p'))) ? intval(I('get.' . (C('VAR_PAGE') ? C('VAR_PAGE') : 'p'))) : 1; $limit = ($page - 1) * $perpage . "," . $perpage; if (intval($_GET['user_status']) >= 0 || !empty($_GET['key_word'])) { $user_status = I('get.user_status', ''); $key_word = I('get.key_word', ''); if ($user_status != '') { $where['user_status'] = $user_status; } if ($key_word != '') { $where['user_name'] = array('like', "%" . $key_word . "%"); } // 获取搜索条件下的个人用户 $where['role'] = 4; $users = $this->_Model->user_lists($where, $limit); $total = $this->_Model->user_count($where); } else { // 获取全部个人用户 $where = array('role' => 4); $users = $this->_Model->user_lists($where, $limit); $total = $this->_Model->user_count($where); } $pageobj = new Page($total, $perpage); $pageobj->setConfig('prev', '上一页'); $pageobj->setConfig('next', '下一页'); $pageshow = $pageobj->show(); $this->assign("pageshow", $pageshow); $this->assign("users", $users); $this->display(); }
/** * 通用分页列表数据集获取方法 * * 可以通过url参数传递where条件,例如: index.html?name=asdfasdfasdfddds * 可以通过url空值排序字段和方式,例如: index.html?_field=id&_order=asc * 可以通过url参数r指定每页数据条数,例如: index.html?r=5 * * @param sting|Model $model 模型名或模型实例 * @param array $where where查询条件(优先级: $where>$_REQUEST>模型设定) * @param array|string $order 排序条件,传入null时使用sql默认排序或模型属性(优先级最高); * 请求参数中如果指定了_order和_field则据此排序(优先级第二); * 否则使用$order参数(如果$order参数,且模型也没有设定过order,则取主键降序); * * @param boolean $field 单表模型用不到该参数,要用在多表join时为field()方法指定参数 * @author 朱亚杰 <*****@*****.**> * * @return array|false * 返回数据集 */ protected function lists($model, $where = array(), $order = '', $field = true) { $options = array(); $REQUEST = (array) I('request.'); if (is_string($model)) { $model = M($model); } $OPT = new \ReflectionProperty($model, 'options'); $OPT->setAccessible(true); $pk = $model->getPk(); if ($order === null) { //order置空 } else { if (isset($REQUEST['_order']) && isset($REQUEST['_field']) && in_array(strtolower($REQUEST['_order']), array('desc', 'asc'))) { $options['order'] = '`' . $REQUEST['_field'] . '` ' . $REQUEST['_order']; } elseif ($order === '' && empty($options['order']) && !empty($pk)) { $options['order'] = $pk . ' desc'; } elseif ($order) { $options['order'] = $order; } } unset($REQUEST['_order'], $REQUEST['_field']); if (empty($where)) { $where = array('status' => array('egt', 0)); } if (!empty($where)) { $options['where'] = $where; } $options = array_merge((array) $OPT->getValue($model), $options); $total = $model->where($options['where'])->count(); if (isset($REQUEST['r'])) { $listRows = (int) $REQUEST['r']; } else { $listRows = C('LIST_ROWS') > 0 ? C('LIST_ROWS') : 10; } $page = new Page($total, $listRows, $REQUEST); if ($total > $listRows) { $page->setConfig('theme', '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%'); } $p = $page->show(); $this->assign('_page', $p ? $p : ''); $this->assign('_total', $total); $options['limit'] = $page->firstRow . ',' . $page->listRows; $model->setProperty('options', $options); return $model->field($field)->select(); }