分页类
来源:互联网 发布:手机农村淘宝 编辑:程序博客网 时间:2024/05/01 20:36
<?php
class page{
function __construct(){}
var $pages;
function getList($table,$page,$where='',$order='',$pagesize=20){
global $db ;
if($where) $where = " WHERE $where "; //条件
if($order) $order = " ORDER BY $order"; //排序
$page = max(intval($page), 1); //如果不是第一页,那么$page=1
$offset = $pagesize*($page-1); //偏移量
$limit = " LIMIT $offset, $pagesize"; //sql语句的limit部分
$total = $db->get_one("SELECT count(*) AS `count` FROM $table $where"); //符合条件的记录总数
$pages = ceil($total[count]/$pagesize); //获取总页数
$page = min($pages, $page); //当前页不能超过最大页
$prePage = $page - 1; //上一页
$prePage = max($prePage, 1); //上一页不能小于1
$nextPage = $page+1;
$nextPage = min($nextPage, $pages); //下一页不能超过最大页
$url = getUrl(); //返回本页url
$firstPage = pageurl($url, 1); //首页就是第1页
$prePage = pageurl($url, $prePage); //上一页
$nextPage = pageurl($url, $nextPage); //下一页
$lastPage = pageurl($url, $pages); //尾页
$arr = $db->select("SELECT * FROM `$table` $where $order $limit"); //返回本页数组
$pageshtml = '总数:<b>{$pages}</b>
<a href="{$firstPage}">首页</a>
<a href="{$prePage}">上一页</a>
<a href="{$nextPage}">下一页</a>
<a href="{$lastPage}">尾页</a>
页次:<b><font color="red">{$page}</font>/{$pages}</b>
<input type="text" name="page" id="page" size="2" onKeyDown="if(event.keyCode==13) {redirect(/'{$url}/',document.getElementById(/'page/').value,{$pages}); return false;}">
<input type="button" value="GO" class="gotopage" onclick="redirect(/'{$url}/',document.getElementById(/'page/').value,{$pages})">';
$data = str_replace('"', '/"', $pageshtml);
eval("/$pageshtml = /"$data/";");
//print_r($urlstr);
$this->pages = $pageshtml;
return $arr;
}
}
?>