IndexController.class.php文件可以实现分页效果;可以根据实际需要进行修改;
//IndexController.class.php
<?php
header("content-type:text/html;charset=utf-8");
//定义最终的分页类
final class Pager
{
//私有的成员属性
private $records; //总记录数
private $pages; //总页数
private $pagesize; //每页显示记录数
private $page; //当前页
private $url; //链接地址 ?c=Admin&a=index&page=5
private $first; //首页
private $last; //尾页
private $prev; //上一页
private $next; //下一页
//构造方法
public function __construct($records,$pagesize,$page,$params=array())
{
$this->records = $records;
$this->pagesize = $pagesize;
$this->pages = $this->getPages();
$this->page = $page;
$this->url = $this->getUrl($params);
$this->first = $this->getFirst();
$this->last = $this->getLast();
$this->prev = $this->getPrev();
$this->next = $this->getNext();
}
//获取链接地址
private function getUrl($params=array()) //获取a,p,c参数
{
foreach ($params as $key=>$value)
{
$arr[] = "$key=$value";
}
return "http://www.php9.com/?".implode("&", $arr)."&page= ";
//拼接字符串?&c=Admin&a=index&page=5
}
//获取总页数
private function getPages()
{
return ceil($this->records/$this->pagesize);
}
//获取首页
private function getFirst()
{
if ($this->page==1) {
return"[首页]";
}else{
return "[<a href='{$this->url}1'>首页</a>]";
}
}
//获取尾页
private function getLast()
{
if ($this->page==$this->pages) {
return"[尾页]";
}else{
return "[<a href='{$this->url}{$this->pages}'>尾页</a>]";
}
}
//获取上一页
private function getPrev()
{
if ($this->page==1)
{
return "[上一页]";
}else
{
return "[<a href='{$this->url}".($this->page-1)."'>上一页</a>]";
}
}
//获取下一页
private function getNext()
{
if ($this->page==$this->pages) {
return"[下一页]";
}else{
return "[<a href='{$this->url}".($this->page+1)."'>下一页</a>]";
}
}
//公共的分页方法
public function showPage()
{
if ($this->pages>1) {
$str = "共有{$this->records}条记录,每页显示{$this->pagesize}条记录. ";
$str .= "共有{$this->page}/{$this->pages}页";
$str .= "{$this->first} {$this->prev} {$this->next} {$this->last}";
return $str;
}else{
return "共有{$this->records}条记录";
}
}
}
//调用分页方法的测试代码
//构建分页的参数
$pagesize = 2;
$page = isset($_GET['page'])?$_GET['page'] :1 ;
$startrow = ($page-1)*$pagesize;
$records = 20;
$params = array('c'=>'Index','a'=>'index');
//创建分页类对象
$pageObj = new Pager($records,$pagesize,$page,$params);
//调用分页类方法
$pageStr = $pageObj->showPage();
echo $pageStr;
效果图如下: