本文实例讲述了PHP封装的page分页类定义与用法。分享给大家供大家参考,具体如下:
亲测有效,见下图=========>
1. 测试实例test.php
header("Content-Type: text/html; charset=utf-8");
date_default_timezone_set("Asia/Shanghai"); //时区
require_once('page.class.php');
$showrow = 5;
$curpage = empty($_GET['page']) ? 1 : $_GET['page'];
$url = "?page={page}";
$dsn = 'mysql:host=xxx.xxx.80.xxx;dbname=admin';
$pdo = new PDO($dsn, 'root', 'root');
$pdo->query('set names utf8');
$sql = "SELECT * from operator_list where 1=1";
$res_gg = $pdo->query("SELECT count(*) as ctn from operator_list where 1=1;");
$result = $res_gg->fetch();
$total = $result["ctn"];
if (!empty($_GET['page']) && $total != 0 && $curpage > ceil($total / $showrow)) {
$curpage = ceil($total_rows / $showrow);
}
$sql .= " LIMIT " . ($curpage - 1) * $showrow . ",$showrow;";
$res_zz = $pdo->query($sql);
$result = $res_zz->fetchAll();
//print_r(json_encode($result));die;
?>
/p>
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
报表
style="border:1px solid #ccc;" cellpadding="0" cellspacing="1">
ID商品编号订阅状态商品状态修改时间创建时间if (!empty($result)) {
foreach ($result as $k => $v) {
?>
<?php echo $v['id']; ?><?php echo $v["customer_id"]; ?><?php echo $v["name"]; ?><?php echo $v["role_id"]; ?><?php echo $v["status"]; ?><?php echo $v["cdate"]; ?>}
}
?>
if ($total > $showrow) {//总记录数大于每页显示数,显示分页
$page = new page($total, $showrow, $curpage, $url, 3);
echo $page->myde_write();
}
?>
2. 封装的page分页类page.class.php
/* * *********************************************
* @类名: page
* @参数: $myde_total - 总记录数
* $myde_size - 一页显示的记录数
* $myde_page - 当前页
* $myde_url - 获取当前的url
* @功能: 分页实现
*/
class page {
private $myde_total; //总记录数
private $myde_size; //一页显示的记录数
private $myde_page; //当前页
private $myde_page_count; //总页数
private $myde_i; //起头页数
private $myde_en; //结尾页数
private $myde_url; //获取当前的url
/*
* $show_pages
* 页面显示的格式,显示链接的页数为2*$show_pages+1。
* 如$show_pages=2那么页面上显示就是[首页] [上页] 1 2 3 4 5 [下页] [尾页]
*/
private $show_pages;
public function __construct($myde_total = 1, $myde_size = 1, $myde_page = 1, $myde_url, $show_pages = 2) {
$this->myde_total = $this->numeric($myde_total);
$this->myde_size = $this->numeric($myde_size);
$this->myde_page = $this->numeric($myde_page);
$this->myde_page_count = ceil($this->myde_total / $this->myde_size);
$this->myde_url = $myde_url;
if ($this->myde_total < 0)<