PHP實現(xiàn)簡單實用的分頁類代碼
來源:易賢網(wǎng) 閱讀:1023 次 日期:2016-08-26 16:26:16
溫馨提示:易賢網(wǎng)小編為您整理了“PHP實現(xiàn)簡單實用的分頁類代碼”,方便廣大網(wǎng)友查閱!

本文實例講述了PHP實現(xiàn)簡單實用的分頁類。分享給大家供大家參考,具體如下:

<?php

  class Page {

     private $total;   //總記錄

     private $pagesize;  //每頁顯示多少條

     private $limit;     //limit

     private $page;      //當前頁碼

     private $pagenum;   //總頁碼

     private $url;      //地址

     private $bothnum;   //兩邊保持數(shù)字分頁的量

   //構造方法初始化

   public function __construct($_total, $_pagesize) {

     $this->total = $_total ? $_total : 1;

     $this->pagesize = $_pagesize;

     $this->pagenum = ceil($this->total / $this->pagesize);

     $this->page = $this->setPage();

     $this->limit = "LIMIT ".($this->page-1)*$this->pagesize.",$this->pagesize";

     $this->url = $this->setUrl();

     $this->bothnum = 2;

   }

   //攔截器

   private function __get($_key) {

     return $this->$_key;

   }

   //獲取當前頁碼

   private function setPage() {

     if (!empty($_GET['page'])) {

        if ($_GET['page'] > 0) {

          if ($_GET['page'] > $this->pagenum) {

             return $this->pagenum;

          } else {

             return $_GET['page'];

          }

        } else {

          return 1;

        }

     } else {

        return 1;

     }

   }

   //獲取地址

   private function setUrl() {

     $_url = $_SERVER["REQUEST_URI"];

     $_par = parse_url($_url);

     if (isset($_par['query'])) {

        parse_str($_par['query'],$_query);

        unset($_query['page']);

        $_url = $_par['path'].'?'.http_build_query($_query);

     }

     return $_url;

   }   //數(shù)字目錄

   private function pageList() {

     for ($i=$this->bothnum;$i>=1;$i--) {

      $_page = $this->page-$i;

      if ($_page < 1) continue;

        $_pagelist .= ' <a href="'.$this->url.'&page='.$_page.'">'.$_page.'</a> ';

     }

     $_pagelist .= ' <span class="me">'.$this->page.'</span> ';

     for ($i=1;$i<=$this->bothnum;$i++) {

      $_page = $this->page+$i;

        if ($_page > $this->pagenum) break;

        $_pagelist .= ' <a href="'.$this->url.'&page='.$_page.'">'.$_page.'</a> ';

     }

     return $_pagelist;

   }

   //首頁

   private function first() {

     if ($this->page > $this->bothnum+1) {

        return ' <a href="'.$this->url.'">1</a> ...';

     }

   }

   //上一頁

   private function prev() {

     if ($this->page == 1) {

        return '<span class="disabled">上一頁</span>';

     }

     return ' <a href="'.$this->url.'&page='.($this->page-1).'">上一頁</a> ';

   }

   //下一頁

   private function next() {

     if ($this->page == $this->pagenum) {

        return '<span class="disabled">下一頁</span>';

     }

     return ' <a href="'.$this->url.'&page='.($this->page+1).'">下一頁</a> ';

   }

   //尾頁

   private function last() {

     if ($this->pagenum - $this->page > $this->bothnum) {

        return ' ...<a href="'.$this->url.'&page='.$this->pagenum.'">'.$this->pagenum.'</a> ';

     }

   }

   //分頁信息

   public function showpage() {

     $_page .= $this->first();

     $_page .= $this->pageList();

     $_page .= $this->last();

     $_page .= $this->prev();

     $_page .= $this->next();

     return $_page;

   }

 }

?>

分頁樣式如下圖所示:

名單

使用說明:

<?php

  $_page = new Page($_total,$_pagesize);

  //其中 $_total 是數(shù)據(jù)集的總條數(shù),$_pagesize 是每頁顯示的數(shù)量.

?>

希望本文所述對大家PHP程序設計有所幫助。

更多信息請查看網(wǎng)絡編程
易賢網(wǎng)手機網(wǎng)站地址:PHP實現(xiàn)簡單實用的分頁類代碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權所有:易賢網(wǎng)