加勒比HEZYO黑人专区-久久精品国产99国产精品亚洲-精品国产18久久久久久-久久人妻少妇嫩草AV

歡迎光臨 織晶網(wǎng)絡(luò)官網(wǎng)!

  • 服務(wù)支持
  • 020-39182790
服務(wù)支持您現(xiàn)在的位置:首頁 > 服務(wù)支持

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

作者:織晶客服部   發(fā)布于:2015/6/3 18:43:26  點擊量:  來源:王業(yè)樓的個人博客

今天為大家獻上一段代碼,這是一段php分頁代碼:

  

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

  class Page {

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

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

  private $_page; //當前頁面

  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;

  }

  //獲取當前頁碼

  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 .= "".$i."";

  }

  //自己

  $_num .= "".$this->_page."";

  //后面

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

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

  $_num .= "".$i."";

  }

  return $_num;

  }

  }

  ?>


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

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

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

  3、獲取當前頁面地址!

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

  4、獲取當前頁碼

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

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

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

  當用戶點擊第一頁時,LIMIT 0,5

  當用戶點擊第二頁時,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分頁就出來啦!

  此文章屬于王業(yè)樓的個人博客原創(chuàng),若要轉(zhuǎn)載請注明出處:王業(yè)樓的個人博客



上一篇:jquery學習必備代碼和技巧

下一篇:php版本發(fā)展的歷史