【代碼】PHP 分頁類
下面是我自己寫的分頁類,可做簡單的修改
[php]
get = (int)$_GET['startRow'];$this->post = (int)$_POST['pageNums'];$this->pageSize = $pageSize;$this->pageTotal = ceil($total / $pageSize);switch ($_GET['method']){default:$this->startRow = 1;$this->offset = 0;break;case 'first':$this->first();break;case 'previous':$this->previous();break;case 'next':$this->next();break;case 'last':$this->last();break;}}/*** 首頁方法**/public function first(){$this->startRow = 1;$this->offset = ($this->startRow - 1) * $this->pageSize;}/*** 上一頁方法**/public function previous(){$this->startRow = $this->get - 1;if ($this->startRow < 1) {$this->startRow = 1;}$this->offset = ($this->startRow - 1) * $this->pageSize;}/*** 下一頁方法**/public function next(){$this->startRow = $this->get + 1;if ($this->startRow > $this->pageTotal) {$this->startRow = $this->pageTotal;}$this->offset = ($this->startRow - 1) * $this->pageSize;}/*** 最後頁方法**/public function last(){$this->startRow = $this->pageTotal;$this->offset = ($this->startRow - 1) * $this->pageSize;}/*** 下拉式功能表翻頁** @return Int*/public function numPages(){if ($this->post) {$pageNums = "$this->post";$this->startRow = $this->post;$this->offset = ($this->post - 1) * $this->pageSize;}for ($i = 1; $i <= $this->pageTotal;$i++){if ($i != $this->post) {$pageNums .= "$i";}}return $pageNums;}/*** 當前是第幾頁** @return Int*/public function noncePage(){if ($this->post) {return $this->startRow = $this->post;} else {return $this->startRow = $this->startRow;}}}
調用方法:
[php]
$total = $total->total();//總記錄$pageSize = 15;//每頁顯示的記錄$pager = new Pager($total,$pageSize);if ($pager->post){$startRow = $pager->noncePage();}$startRow = $pager->startRow;$pager->numPages();$article->query("SELECT * FROM `categories` as c,`articles` as n WHERE c.id = n.pidORDER BY n.id DESC LIMIT $pager->offset,$pageSize");while ($article->fetchArray()) {$article->data['content'] = mb_substr(strip_tags($article->data['content']),0,40,'utf-8');$articleIndex[] = $article->data;}$article->free();} else {header("location:?act=login");}$view->view->assign('startRow',$startRow);//caption$view->view->assign('total',$total);//caption$view->view->assign('pageNums',$pager->numPages());//pageNums$view->view->assign('noncePage',$pager->noncePage());//pageNums$view->view->assign('pageTotal',$pager->pageTotal);//pageTotal
模板頁面:
[php]
本文出自 “
清源教育” 部落格,轉載請註明此處,謝謝!