page()就是頁面的分頁,直接echo出來就行啦,注意你還得將Page類中的$_limit調(diào)用出來放到數(shù)據(jù)庫查詢語句中,這樣基本的php分頁就出來啦!" />

国产乱子伦60女人的皮视频,小视频播放亚洲欧美,亚洲午夜精品久久 ,国产性色AV免费观看在线

北京網(wǎng)站建設(shè),北京網(wǎng)站制作,北京網(wǎng)站設(shè)計,北京網(wǎng)絡(luò)公司

當(dāng)前位置:首頁 > Web編程

PHP分頁類代碼應(yīng)該如何設(shè)置

時間:2015-06-02 01:25:14 北京網(wǎng)站建設(shè)凡度網(wǎng)絡(luò)

  今天為大家獻(xiàn)上一段代碼,這是一段php分頁代碼:

  <?php

  //創(chuàng)建分頁類

  class Page {

  private $_all_num; //數(shù)據(jù)總個數(shù)

  private $_page_size; //每頁顯示幾條數(shù)據(jù)

  private $_page; //當(dāng)前頁面

  private $_all_page; //總頁碼

  private $_url; //頁面地址

  private $_limit; //數(shù)據(jù)庫查詢語句

  private $_sign; //地址符號

  //攔截器

  public function __get($_key) {

  return $this->$_key;

  }

  public function __construct($_all_num,$_page_size) {

  $this->_all_num = $_all_num;

  $this->_page_size = $_page_size;

  $this->_all_page = ceil($this->_all_num / $this->_page_size);

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

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

  $this->_limit = 'LIMIT '.($this->_page * $this->_page_size - $this->_page_size).','.$this->_page_size;

  }

  //獲取當(dāng)前頁碼

  private function setPage() {

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

  if ($_GET['page'] <= $this->_all_page) {

  return ceil($_GET['page']);

  } else {

  return $this->_all_page;

  }

  } else {

  return 1;

  }

  }

  //獲取地址

  private function setUrl() {

  $_url = $_SERVER['REQUEST_URI'];

  if (!empty($_url)) {

  $_par_url = parse_url($_url);

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

  parse_str($_par_url['query'],$_arr);

  if (isset($_arr['page'])) {

  unset($_arr['page']);

  }

  if (!empty($_arr)) {

  $_http = http_build_query($_arr);

  $_end_url = $_par_url['path'] . '?' . $_http;

  $this->_sign = '&';

  } else {

  $_end_url = $_par_url['path'];

  $this->_sign = '?';

  }

  } else {

  $_end_url = $_par_url['path'];

  $this->_sign = '?';

  }

  }

  return $_end_url;

  }

  //顯示分頁

  public function numPage() {

  $_num = '';

  //前面

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

  if ($i<1) continue;

  $_num .= "<a href='".$this->_url. $this->_sign ."page=".$i."'>".$i."</a>";

  }

  //自己

  $_num .= "<a class='me' href='".$this->_url. $this->_sign ."page=".$this->_page."'>".$this->_page."</a>";

  //后面

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

  if ($i>$this->_all_page) continue;

  $_num .= "<a href='".$this->_url. $this->_sign ."page=".$i."'>".$i."</a>";

  }

  return $_num;

  }

  }

  ?>

  大家可以將上面一段代碼復(fù)制到文本編輯器中這樣看的會舒服一點(diǎn)!下面講一下具體步驟:

  1、創(chuàng)建一個分頁類:class Page {};

  2、獲取需要顯示數(shù)據(jù)的個數(shù),并且記錄在Page類中,這里數(shù)據(jù)的個數(shù)通過數(shù)據(jù)去獲取就不詳細(xì)說了!然后設(shè)置每頁顯示數(shù)據(jù)的條數(shù)!

  3、獲取當(dāng)前頁面地址!

  這段代碼大概意思就是當(dāng)你的地址跟著?時,那么點(diǎn)擊分頁就用&page=;當(dāng)你的地址后面沒有后綴或者只有?page=,那么點(diǎn)擊分頁就用?page=

  4、獲取當(dāng)前頁碼

  這里的頁碼必須是整數(shù),所以可以用ceil這個函數(shù),還要注意用戶的惡意修改地址!

  4、做分頁元素,這里只是做一個簡單的數(shù)字分頁,更復(fù)雜用戶體驗更好的,大家可以自行擴(kuò)展!

  5、設(shè)置數(shù)據(jù)庫庫的查詢條數(shù),也就是LIMIT;舉個例子:比如我現(xiàn)在有10條數(shù)據(jù),設(shè)置每頁顯示5條數(shù)據(jù),那么

  當(dāng)用戶點(diǎn)擊第一頁時,LIMIT 0,5

  當(dāng)用戶點(diǎn)擊第二頁時,LIMIT 5,5

  6、這段代碼的調(diào)用:

  $_page = new Page(10,5);

  $_page->page();

  上面的10是總的數(shù)據(jù)個數(shù),5是你想要每頁顯示數(shù)據(jù)的個數(shù),$_page->page()就是頁面的分頁,直接echo出來就行啦,注意你還得將Page類中的$_limit調(diào)用出來放到數(shù)據(jù)庫查詢語句中,這樣基本的php分頁就出來啦!

新聞動態(tài)

核心服務(wù)

相關(guān)文章

    無相關(guān)信息

最新文章

熱門文章

聯(lián)系我們:

北京市海淀區(qū)蘇州街3號大恒科技大廈5層
電話:010-51668909
郵箱:kefu@fandoo.cn
在線QQ:83321348、382317942
郵編:100088
官方微信:fandoocn