写了一个php的分页类,仅供参考
原理:使用mysql中的limit关键字
语法:select * from you_table limit start_number,number;
该语句的意思是从第start_number条数据开始,共查询number条数据。
下面是代码:
page.class.php
<?php
class Page {
private $total; //数据表中总记录数
private $listRows; //每页显示行数
public $limit; //分页语句
private $uri; //url地址
private $pageNum; //页数
private $listNum=7;//最多显示的页数
private $page;//当前页
/*
构造方法:对分类进行初始化
$total:记录总数
$listRows:每页显示多少条数据
$init:初始化在第几页
*/
public function __construct($total,$listRows=10,$init="") {
$this->total = $total;
$this->listRows = $listRows;
$this->uri = $this->getUri($init);
$this->page=!empty($_GET["page"]) ? $_GET["page"] : 1;
$this->pageNum=ceil($this->total/$this->listRows);
$this->limit=$this->setLimit();
}
/*
使用Limit进行分页
*/
private function setLimit() {
return "Limit ".($this->page-1)*$this->listRows.", {$this->listRows}";
}
/*
获取地址栏的URL方法
这里不能直接用$_SERVER['REQUEST_URI']获取,
如果用$_SERVER['REQUEST_URI']获取会导致地址栏上有很多的参数
*/
private function getUri($init