ホームページ バックエンド開発 PHPチュートリアル 适用好用的PHP分页类代码与使用

适用好用的PHP分页类代码与使用

Jun 13, 2016 am 11:45 AM
gt page private return this

实用好用的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;??	}????	//首页  http://ini.iteye.com/??	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 是每页显示的数量.?>
ログイン後にコピー

?分页样式如下图所示:?



?

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Huawei GT3 ProとGT4の違いは何ですか? Huawei GT3 ProとGT4の違いは何ですか? Dec 29, 2023 pm 02:27 PM

Huawei GT3 ProとGT4の違いは何ですか?

C言語のreturnの使い方を詳しく解説 C言語のreturnの使い方を詳しく解説 Oct 07, 2023 am 10:58 AM

C言語のreturnの使い方を詳しく解説

修正: Windows 11 で Snipping ツールが機能しない 修正: Windows 11 で Snipping ツールが機能しない Aug 24, 2023 am 09:48 AM

修正: Windows 11 で Snipping ツールが機能しない

Javaのreturn文とfinally文の実行順序は何ですか? Javaのreturn文とfinally文の実行順序は何ですか? Apr 25, 2023 pm 07:55 PM

Javaのreturn文とfinally文の実行順序は何ですか?

Javaでプライベートとはどういう意味ですか Javaでプライベートとはどういう意味ですか Nov 24, 2022 pm 06:27 PM

Javaでプライベートとはどういう意味ですか

iPhoneでApp Storeに接続できないエラーを修正する方法 iPhoneでApp Storeに接続できないエラーを修正する方法 Jul 29, 2023 am 08:22 AM

iPhoneでApp Storeに接続できないエラーを修正する方法

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决

Vue プロジェクトでデータ ページングと表示の最適化を実装する方法 Vue プロジェクトでデータ ページングと表示の最適化を実装する方法 Oct 15, 2023 am 09:27 AM

Vue プロジェクトでデータ ページングと表示の最適化を実装する方法

See all articles