标签:
你只需要在需要添加页的页面加入这几行代码
<?php
include ‘form.class.php‘;
$p=new Page(100, ‘Demo01.php‘);//这里需要传递两个参数,参数一是分页中每页默认要显示的条数,参数二是本页面的链接地址
echo $p->ShowDiv();
?>
实现分类的页Page.class.php
<?php
	class Page{
		private $pageNum;		//当前页
		private $pageCount;		//总页数
		private $pageSize;		//每页行数
		private $rowCount;		//总行数
		private $url;			//转跳的原地址
		
		//__get()方法用来获取私有属性
		public function __get($property_name)
		{
			if(isset($this->$property_name))
			{
				return($this->$property_name);
			}
			else
			{
				return(NULL);
			}
		}
		//__set()方法用来设置私有属性
		public function __set($property_name, $value)
		{
			$this->$property_name = $value;
		}
		
		
		//给以上变量赋值
		function __construct($rowCount,$url){
			//在地址栏取pageNum和pageSize变量的值
			if(isset($_GET["page"])){
				$this->pageNum=$_GET["page"];
				$this->pageSize=$_GET["pageSize"];
			}else{
				$this->pageNum=1;
				$this->pageSize=3;
			}
			//通过传进来的参数给rowCount和url赋值
			$this->rowCount=$rowCount;
			$this->url=$url;
			//通过计算求得页面总数
			$this->pageCount=intval($rowCount/$this->pageSize)+($rowCount%$this->pageSize?1:0);
		}
		
		/**
		 * 画界面
		 */
		function ShowDiv(){
			
			//判断是否是第一页或最后一页,确定转跳地址
			$nextPage=$this->pageNum+($this->pageNum<$this->pageCount? 1:0);
			$lastPage=$this->pageNum-($this->pageNum>1? 1:0);
			
			//首页和上一页
			$div="<div style=‘text-align: center;‘>";
			//设置每页显示行数,放到表单里提交时可以显示到地址栏(a标签设置不用表单)
			$div.="<form action=‘{$this->url}‘ method=‘get‘>";
			$div.="共【{$this->rowCount}】条数据  <a href=‘{$this->url}?page=1&pageSize={$this->pageSize}‘>首页</a> ";
			$div.="<a href=‘{$this->url}?page={$lastPage}&pageSize={$this->pageSize}‘>上一页</a> ";
			
			//12345的页数,用当前页面数判断显示哪些数字
			if($this->pageCount<5){
				for($i=1;$i<=$this->pageCount;$i++){
					if($this->pageNum==$i){
						$div.="<a>{$i}</a> ";
					}else{
						//a标签的数字和page相对应
						$div.="<a href=‘{$this->url}?page={$i}&pageSize={$this->pageSize}‘>{$i}</a> ";
					}
				}
			}else if($this->pageNum<=3){
				for($i=1;$i<=5;$i++){
					if($this->pageNum==$i){
						$div.="<a>{$i}</a> ";
					}else{
						$div.="<a href=‘{$this->url}?page={$i}&pageSize={$this->pageSize}‘>{$i}</a> ";
					}
				}
			}else if($this->pageNum>3&&$this->pageNum<$this->pageCount-3){
				for($i=$this->pageNum-2;$i<=$this->pageNum+2;$i++){
					if($this->pageNum==$i){
						$div.="<a>{$i}</a> ";
					}else{
						$div.="<a href=‘{$this->url}?page={$i}&pageSize={$this->pageSize}‘>{$i}</a> ";
					}
				}
			}else{
				for($i=$this->pageCount-4;$i<=$this->pageCount;$i++){
					if($this->pageNum==$i){
						$div.="<a>{$i}</a> ";
					}else{
						$div.="<a href=‘{$this->url}?page={$i}&pageSize={$this->pageSize}‘>{$i}</a> ";
					}
				}
			}
			
			//下一页、末页和显示
			$div.="<a href=‘{$this->url}?page={$nextPage}&pageSize={$this->pageSize}‘>下一页</a> ";
			$div.="<a href=‘{$this->url}?page={$this->pageCount}&pageSize={$this->pageSize}‘>末页</a> ";
			$div.="当前第【{$this->pageNum}】页,共【{$this->pageCount}】页  ";
			
			$div.="<input type=‘hidden‘ value=‘1‘ name=‘page‘ /> ";//开头用page是否存在判断的
			$div.="每页<input style=‘width: 30px‘ type=‘text‘ value=‘{$this->pageSize}‘ name=‘pageSize‘/>行 ";
			$div.="<input type=‘submit‘ value=‘设置‘ name=‘btnSet‘ /></form>";
			$div.="</div>";
			return $div;
		}
	}
?>
标签:
原文地址:http://www.cnblogs.com/Steven-shi/p/4678060.html