class pagination {
var $pagesize; //页大小
var $pageno; //当前页码
var $rowcount; //记录总数
var $pagecount; //总页数
var $records; //当前页记录
var $currentpagesize; //当前页记录总数
var $currentpagestartno; //当前页开始记录号
//判断是否有电脑教程之家 http://www.pcppc.cn
function hasnextpage() {
return $this->pageno pagecount;
}
//取得电脑教程之家 http://www.pcppc.cn页码
function getnextpageno() {
return $this->pageno + 1;
}
//判断是否有上一页
function haspriorpage() {
return $this->pageno > 1;
}
//取得上一页页码
function getpriorpageno() {
return $this->pageno - 1;
}
//判断是否第一页
function isfirstpage(){
return $this->pageno == 1 || $this->pagecount==0;
}
//判断是否最后一页
function islastpage(){
return $this->pageno == $this->pagecount || $this->pagecount==0;
}
//装载某一页数据,成功则返回true,失败则返回false
// datamaker是一个函数名,用于将一条记录转换为一个对象
// 有一个参数为当前记录所有字段的值(一个以数字或字段名为索引的数组)
function load($con, $sql, $datamaker, $pagesize, $pageno){
//页大小和当前页码必须>=1
if( $pagesize
//查询
if( $rst = @mysql_que
mysql教程是:mysql分页模型(pagination.php)。ry($sql, $con) ){
$this->pagesize = $pagesize;
$this->pageno = $pageno;
$this->rowcount = @mysql_num_rows($rst);
$this->pagecount = (int)(($this->rowcount + $this->pagesize - 1) / $this->pagesize);
$this->records = array();
//将光标移动到指定页的第一条记录前
$this->currentpagestartno = ($this->pageno - 1) * $this->pagesize + 1;
$firstrowno = $this->currentpagestartno;
while( --$firstrowno>0 && @mysql_fetch_array($rst) );
//取出指定页的数据
$read = 0;
$this->currentpagesize = 0;
while( $readpagesize && $row=@mysql_fetch_array($rst) ){
$this->records[$this->currentpagesize++] = $datamaker($row);
$read++;
}
}
else{
return false;
}
return true;
}
};
?>