<?php
\
class Page{
private $total; // 总共有多少条记录
private $pagenum; // 分成多少页
private $pagesize; // 每页多少条记录
private $current; // 当前所在的页数
private $url; // url
private $first; // 首页
private $last; // 末页
private $prev; // 上一页
private $next; // 下一页
\
/**
* 构造函数
* @access public
* @param $total number 总的记录数
* @param $pagesize number 每页的记录数
* @param $current number 当前所在页
* @param $script string 当前请求的脚本名称,默认为空
* @param $params array url所携带的参数,默认为空
*/
public function __construct( $total, $pagesize, $current, $script = '', $params = array()){
$this-> total = $total;
$this-> pagesize = $pagesize;
$this-> pagenum = $this-> getNum();
$this-> current = $current;
//设置url
$p = array();
foreach ( $params as $k => $v) {
$p[] = " $k = $v ";
}
$this-> url = $script . '&' . implode( '&', $p) . '&page=';
\
$this-> first = $this-> getFirst();
$this-> last = $this-> getLast();
$this-> prev = $this-> getPrev();
$this-> next = $this-> getNext();
}
\
private function getNum(){
return ceil( $this-> total / $this-> pagesize);
}
\
private function getFirst(){
if ( $this-> current == 1) {
return '[首页]';
} else {
return "<a href='{
$this-> url }1'>[首页]<a/>";
}
}
\
private function getLast(){
if ( $this-> current == $this-> pagenum) {
return '末页';
} else {
return "<a href='{
$this-> url }{
$this-> pagenum }'>[末页]</a>";
}
}
\
private function getPrev(){
if ( $this-> current == 1) {
return '[上一页]';
} else {
return "<a href='{
$this-> url }".( $this-> current - 1). "'>[上一页]</a>";
}
}
\
private function getNext(){
if ( $this-> current == $this-> pagenum ){
return '[下一页]';
} else {
return "<a href='{
$this-> url }".( $this-> current+ 1). "'>[下一页]</a>";
}
}
\
/**
* getPage方法,得到分页信息
* @access public
* @return string 分页信息字符串
*/
public function showPage(){
if ( $this-> pagenum > 1){
return "共有 {
$this-> total } 条记录,每页显示 {
$this-> pagesize } 条记录, 当前为 {
$this-> current }/{
$this-> pagenum } {
$this-> first } {
$this-> prev } {
$this-> next } {
$this-> last }";
} else{
return "共有 {
$this-> total } 条记录";
}
}
}
\
//使用:配合mysql操作类一起使用
/*
$total = $db->total();
$pagesize = 3;
\
$current = isset($_REQUEST['page']) ? $_REQUEST['page'] : 1;
\
$offset = ($current - 1) * $pagesize;
$rows = $db->getAll("SELECT * FROM category limit $offset,$pagesize" );
\
$page = new page($total,$pagesize,$current,'test.php',array('goods_id'=>2));
\
$str = "<table width='400' border='1'>";
$str .= "<tr><th>编号</th><th>名称</th><th>父编号</th></tr>";
foreach ($rows as $v) {
$str .= '<tr>';
$str .= "<td>{$v['cat_id']}</td>";
$str .= "<td>{$v['cat_name']}</td>";
$str .= "<td>{$v['parent_id']}</td>";
$str .= '</tr>';
}
$str .= "</table>";
\
echo $str;
\
echo $page->showPage();
*/
\
$umodel= new UserModel( 'user');
$this-> library( 'Page'); //载入分类类
$total= count( $umodel-> getAllUser()); //获取总条数
$pagesize = 10; //每页显示的条数
$current = isset( $_REQUEST[ 'page']) ? $_REQUEST[ 'page'] : 1; //当前页
$offset = ( $current - 1) * $pagesize; //边界
$cpage = $umodel-> getPage( " SELECT * FROM cz_user limit $offset , $pagesize " ); //获取数据
$page = new page( $total, $pagesize, $current, 'index.php?p=admin&c=user&a=index', array( 'goods_id'=> 2)); //创建对象
$p= $page-> showPage(); //打印分页到页面 echo
include CUR_VIEW_PATH . "user_list.html";
\
\
\