国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

簡單好用的PHP分頁類

2019-12-12 06:33:34
字體:
來源:轉載
供稿:網友

本文為大家分享了兩段PHP分頁類,很實用,供大家參考,具體內容如下

<?php class Page {  private $total;   //總記錄  private $pagesize;  //每頁顯示多少條  private $limit;   //limit  private $page;   //當前頁碼  private $pagenum;  //總頁碼  private $url;   //地址  private $bothnum;  //兩邊保持數字分頁的量   //構造方法初始化  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;  }  //數字目錄  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 是數據集的總條數,$_pagesize 是每頁顯示的數量.?>

第二個分頁類:

<?php/** * page.class.php 分頁類 * 日期:2015-04-05 * http://aowana.sinaapp.com */class page{  public static $url;  public static $page;  public static $total;  public static $size;  public static $number;  public static $max;   public static $action = array('previous', 'number', 'next');   public static function show($url, $page, $total, $size=10, $number=11)  {    self::$url = $url;    self::$page = $page;    self::$total = $total;    self::$size = $size;    self::$number = $number;    self::$max = ceil($total / $size);     $str = '';    foreach (self::$action as $name)      $str .= self::$name();    return $str;  }   public static function first()  {    if (self::$page > 2)    {      $url = self::url(1);      return "<li id=/"pbfirst/"><a href=/"{$url}/" title=/"首頁/">首頁</a></li>";    }  }   public static function previous()  {    if (self::$page > 1)    {      $url = self::url(self::$page - 1);      return "<li id=/"pbprevious/"><a href=/"{$url}/" title=/"上一頁/">上一頁</a></li>";    }  }   public static function number()  {    $str = '';    $f = self::$number % 2 ? (self::$number - 1) / 2 : self::$number / 2;    $s = self::$page - $f;    $e = self::$page + $f;     if (self::$page < ($f + 1))    {      $s = 1;      $e = self::$number;      $e = $e > self::$max ? self::$max : $e;    }     if (self::$page > (self::$max - $f))    {      $s = self::$max - self::$number;      $s = $s < 1 ? 1 : $s;      $e = self::$max;    }     for ($i=$s; $i<=$e; $i++)    {      $url = self::url($i);      if ($i == self::$page)        $str .= "<li><strong>{$i}</strong></li>";      else        $str .= "<li><a href=/"{$url}/" title=/"第{$i}頁/">{$i}</a></li>";    }    return $str;  }   public static function next()  {    if (self::$page < self::$max)    {      $url = self::url(self::$page + 1);      return "<li id=/"pbnext/"><a href=/"{$url}/" title=/"下一頁/">下一頁</a></li>";    }  }   public static function end()  {    if ((self::$max - self::$page) > 1)    {      $url = self::url(self::$max);      return "<li id=/"pbend/"><a href=/"{$url}/" title=/"末頁/">末頁</a></li>";    }  }   public static function url($page)  {    return str_replace('{page}', $page, self::$url);  }}

以上就是本文的全部內容,希望對大家學習php程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镇安县| 昌图县| 调兵山市| 那坡县| 东城区| 文成县| 玉龙| 邛崃市| 孝感市| 新和县| 昌宁县| 察隅县| 渭源县| 和硕县| 彰化县| 获嘉县| 枣强县| 灵宝市| 东山县| 汶上县| 安吉县| 邢台市| 旬阳县| 霍邱县| 讷河市| 兰坪| 留坝县| 武隆县| 班玛县| 酒泉市| 西华县| 长乐市| 湖南省| 施甸县| 溧水县| 象山县| 佛坪县| 郯城县| 绍兴县| 自治县| 依安县|