效果图

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();

}

?>

阿里巴巴:https://www.taobao.com

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)

$this->myde_total = 0;

if ($this->myde_page < 1)

$this->myde_page = 1;

if ($this->myde_page_count < 1)

$this->myde_page_count = 1;

if ($this->myde_page > $this->myde_page_count)

$this->myde_page = $this->myde_page_count;

$this->limit = ($this->myde_page - 1) * $this->myde_size;

$this->myde_i = $this->myde_page - $show_pages;

$this->myde_en = $this->myde_page + $show_pages;

if ($this->myde_i < 1) {

$this->myde_en = $this->myde_en + (1 - $this->myde_i);

$this->myde_i = 1;

}

if ($this->myde_en > $this->myde_page_count) {

$this->myde_i = $this->myde_i - ($this->myde_en - $this->myde_page_count);

$this->myde_en = $this->myde_page_count;

}

if ($this->myde_i < 1)

$this->myde_i = 1;

}

//检测是否为数字

private function numeric($num) {

if (strlen($num)) {

if (!preg_match("/^[0-9]+$/", $num)) {

$num = 1;

} else {

$num = substr($num, 0, 11);

}

} else {

$num = 1;

}

return $num;

}

//地址替换

private function page_replace($page) {

return str_replace("{page}", $page, $this->myde_url);

}

//首页

private function myde_home() {

if ($this->myde_page != 1) {

return "首页";

} else {

return "

首页

";

}

}

//上一页

private function myde_prev() {

if ($this->myde_page != 1) {

return "上一页";

} else {

return "

上一页

";

}

}

//下一页

private function myde_next() {

if ($this->myde_page != $this->myde_page_count) {

return "下一页";

} else {

return"

下一页

";

}

}

//尾页

private function myde_last() {

if ($this->myde_page != $this->myde_page_count) {

return "尾页";

} else {

return "

尾页

";

}

}

//输出

public function myde_write($id = 'page') {

$str = "

";

$str.=$this->myde_home();

$str.=$this->myde_prev();

if ($this->myde_i > 1) {

$str.="

...

";

}

for ($i = $this->myde_i; $i <= $this->myde_en; $i++) {

if ($i == $this->myde_page) {

$str.="$i";

} else {

$str.="$i";

}

}

if ($this->myde_en < $this->myde_page_count) {

$str.="

...

";

}

$str.=$this->myde_next();

$str.=$this->myde_last();

$str.="

" . $this->myde_page_count .

"页" . $this->myde_total . "条数据

";

$str.="

";

return $str;

}

}

?>

3.css样式

html, body, div, span, h1, h2, h3, h4, h5, h6, p, pre,

a, code, em, img, small, strong, sub, sup, u, i, center,

dl, dt, dd, ol, ul, li, fieldset, form, label {

margin: 0;

padding: 0;

border: 0;

outline: 0;

font-size: 100%;

vertical-align: baseline;

background: transparent

}

a {

color: #007bc4;

text-decoration: none;

cursor: pointer;

}

.table_parameters a:hover {

text-decoration: none

}

a:hover {

text-decoration: underline

}

ol, ul {

list-style: none

}

table {

border-collapse: collapse;

border-spacing: 0

}

/*html {*/

/*background: url(../images/demo_bg.png)*/

/*}*/

body {

height: 100%;

font: 12px/18px "Microsoft Yahei", Tahoma, Helvetica,

Arial, Verdana, "\5b8b\4f53", sans-serif;

color: #51555c

}

img {

border: 0;

cursor: pointer;

}

.clearfix:after {

visibility: hidden;

display: block;

font-size: 0;

content: " ";

clear: both;

height: 0

}

.head {

/*border-bottom: 1px solid #dadada;*/

padding: 0 0 5px

}

.head_inner {

margin: 0 auto;

width: 980px

}

.container {

width: 80%;

/*min-height: 600px;*/

margin: 30px auto 0 auto;

border: 1px solid #d3d3d3;

background: #fff;

-moz-border-radius: 5px;

-khtml-border-radius: 5px;

-webkit-border-radius: 5px;

border-radius: 5px

}

.demo > h2.title {

margin: 4px 0 30px;

padding: 15px 0 10px 20px;

border-bottom: 1px solid #d3d3d3;

font-size: 18px;

color: #a84c10;

background: url(../images/arrow.jpg) no-repeat 2px 14px

}

.foot {

height: 60px;

padding: 10px 2px;

line-height: 24px;

text-align: center

}

.foot a:hover {

color: #51555c

}

.btn {

-webkit-border-radius: 3px;

-moz-border-radius: 3px;

-ms-border-radius: 3px;

-o-border-radius: 3px;

border-radius: 3px;

background-color: #ff8400;

color: #fff;

display: inline-block;

height: 28px;

line-height: 28px;

text-align: center;

padding: 0 12px;

transition: background-color .2s linear 0s;

border: 0;

cursor: pointer

}

.btn:hover {

background-color: #e95a00;

text-decoration: none

}

.demo {

width: 700px;

margin: 0 auto

}

ul.ul_demo li {

background: url("../images/demo_icon.gif") no-repeat scroll 0 6px;

line-height: 28px;

padding-left: 20px

}

.input, .table input[type='text'] {

border: 1px solid #ccc;

padding: 0 5px;

width: 220px;

height: 26px;

line-height: 26px

}

#nav {

float: right;

margin: 30px 0 0

}

#nav li {

float: left;

font-size: 16px;

margin-right: 20px

}

.btn.loading {

opacity: .5

}

h3 a.cur {

color: #f30;

}

.demo h3 a {

font-size: 14px;

margin: 0 10px 5px 0;

display: inline-block

}

.red {

color: red

}

.notice {

font-size: 14px;

margin-bottom: 10px;

}

.table_parameters {

border-left: 1px solid #d3d3d3;

border-top: 1px solid #d3d3d3;

margin: 6px auto;

font-size: 14px

}

.table_parameters tr.tr_head {

background: none repeat scroll 0 0 #f7f7f7;

font-weight: bold;

padding: 6px;

text-align: center

}

.table_parameters td, .table_parameters th {

border-bottom: 1px solid #d3d3d3;

border-right: 1px solid #d3d3d3;

line-height: 26px;

padding: 2px

}

h1 {

font: 32px "Microsoft Yahei";

margin: 40px auto;

text-align: center;

}

h2 {

font-size: 16px;

margin: 10px 0;

}

.menu {

height: 30px;

margin-bottom: 30px;

padding: 10px;

background-color: #f0f0f0;

text-align: center;

}

.menu a {

display: inline-block;

height: 30px;

padding: 0 20px;

line-height: 30px;

font-size: 14px;

color: #333;

text-decoration: none;

}

.menu a:hover {

color: #000;

background-color: #e9e9e9;

}

.menu .cur {

background-color: #ddd !important;

color: #000;

}

.vad a {

display: inline-block;

height: 36px;

line-height: 36px;

margin: 0 5px;

padding: 0 50px;

font-size: 14px;

text-align: center;

color: #eee;

text-decoration: none;

background-color: #222;

}

.vad a:hover {

color: #fff;

background-color: #000;

}

.thead {

width: 728px;

height: 90px;

margin: 0 auto;

}

textarea {

border: 1px solid #ccc;

font-size: 12px;

height: 100px;

line-height: 18px;

padding: 5px;

width: 300px;

}

.table td {

padding: 10px 0

}

.disabled {

opacity: .6;

filter: alpha(opacity=60)

}

.demo > p {

line-height: 30px;

font-size: 14px

}

.demo > p a {

font-size: 14px

}

.demo h3 {

font-size: 16px;

margin: 20px 0

}

select {

background-color: #fff;

background-position: right center;

background-repeat: no-repeat;

border: 1px solid #888;

border-radius: 3px;

box-sizing: border-box;

font: 12px/1.5 Tahoma, Arial, sans-serif;

height: 30px;

padding: 0 4px;

}

fieldset {

border: 1px solid #ccc;

border-radius: 5px;

margin: 1em 0;

padding: 10px 20px;

}

dl.row dt {

width: 2em;

}

dl.row dt {

clear: left;

float: left;

line-height: 30px;

padding: 5px;

text-align: right;

width: 6em;

}

dl.row dd {

float: left;

padding: 5px;

}

.pager {

text-align: right;

}

.pager a {

padding: 3px 8px;

margin-left: 3px;

line-height: 20px;

background: #f9f9f9;

border: 1px solid #DBDBDB;

text-decoration: none

}

.pager a:hover,

.pager a.current {

background-color: #7CD5B1;

color: #fff;

border: 1px solid #7CD5B1;

cursor: pointer;

}

.page {

text-align: center;

margin: 50px 0

}

.page a, .page span.prev_disabled {

border: 1px solid #ededed;

color: #3d3d3d;

font-weight: 700;

height: 35px;

line-height: 35px;

margin-left: 5px;

min-width: 9px;

padding: 0 13px;

text-align: center;

text-decoration: none;

vertical-align: top;

font-family: "simsun";

display: inline-block

}

.page span.prev_disabled {

cursor: default;

color: #ccc;

margin: 0 10px 0 0

}

.page a.current {

background-color: #f40;

border-color: #f40;

color: #fff;

font-weight: 700;

position: relative;

z-index: 1;

}

.page .extra {

display: inline-block;

margin-left: 10px;

height: 35px;

line-height: 35px;

color: #656565;

}

.page .page-num {

border: 1px solid #ededed;

height: 21px;

text-align: center;

width: 35px;

display: inline-block

}

.page .page-submit {

background-clip: padding-box;

border: 1px solid #ededed;

border-radius: 2px;

cursor: pointer;

height: 21px;

line-height: 21px;

text-align: center;

width: 43px;

display: inline-block

}

.page .page-submit:hover {

border-color: #f40;

color: #f40;

}

.page a:focus, .page a:hover {

border-color: #f40;

z-index: 1;

}

.loading {

margin: 30px 0;

text-align: center

}

p {

margin: 0

}

#page {

height: 40px;

padding: 20px 0px;

}

#page a {

display: block;

float: left;

margin-right: 10px;

padding: 2px 12px;

height: 24px;

border: 1px #cccccc solid;

background: #fff;

text-decoration: none;

color: #808080;

font-size: 12px;

line-height: 24px;

}

#page a:hover {

color: #077ee3;

border: 1px #077ee3 solid;

}

#page a.cur {

border: none;

background: #077ee3;

color: #fff;

}

#page p {

float: left;

padding: 2px 12px;

font-size: 12px;

height: 24px;

line-height: 24px;

color: #bbb;

border: 1px #ccc solid;

background: #fcfcfc;

margin-right: 8px;

}

#page p.pageRemark {

border-style: none;

background: none;

margin-right: 0px;

padding: 4px 0px;

color: #666;

}

#page p.pageRemark b {

color: red;

}

#page p.pageEllipsis {

border-style: none;

background: none;

padding: 4px 0px;

color: #808080;

}

.dates li {

font-size: 14px;

margin: 20px 0

}

.dates li span {

text-align: center

}

td {

font-size: 15px;

margin: 20px 0

}

具体的大家可以多学习别人的php分页类然后多练就可以了。

phppage类封装分页功能_php封装的page分页类完整实例代码相关推荐

  1. phppage类封装分页功能_PHP封装的page分页类定义与用法完整示例

    本文实例讲述了PHP封装的page分页类定义与用法.分享给大家供大家参考,具体如下: 亲测有效,见下图=========> 1. 测试实例test.php header("Conten ...

  2. php中分页公式,php分页函数完整实例代码

    本文分享一例php分页函数完整实例代码,使用此函数实现分页效果很不错.分享给大家供大家参考. 具体功能代码如下: /* * Created on 2011-07-28 * 使用方法: require_ ...

  3. phppage类封装分页功能_封装page分页类

    类: //分页工具类 class Page{ /* * 获取分页字符串 * @param1 string $uri,分页要请求的脚本url * @param3 int $counts,总记录数 * @ ...

  4. 用js实现分页功能以及利用xml实现分页功能——数据岛

    对于数据显示的分页,现在大多是直接通过数据库的动态读取来控制分页,这种方式相比js分页来说,效率低下.采用js分页,能够很好的控制数据的显示.目前大多是采用先预取全部的结果集,然后根据当前页数(pag ...

  5. php的类图怎么生成_PHP网站怎么划UML类图?

    匿名用户 1级 2017-01-16 回答 如果你尚未接触过uml,在你开始阅读前可以补充一些知识,我们收集了一些资源列在这篇文章的末尾. [inheritance 继承关系] php关键字exten ...

  6. phppage类封装分页功能_php显示页码分页类的封装

    本文实例为大家分享了php封装显示页码的分页类,供大家参考,具体内容如下 一.代码 conn.php class Mysql{ public function __construct(){ $this ...

  7. 前端分页功能(封装好的组件)

    1. 封装好的分页组件 //页码 <template><!-- 页码 --><div class="page"><el-paginatio ...

  8. jq分页 不刷新页面_jQuery无刷新分页完整实例代码

    本文实例讲述了jQuery无刷新分页实现方法.分享给大家供大家参考,具体如下: 这款jQuery分页示例,是分页经典形式,兼容性也做的好,网页上的分页代码,分享给大家. 运行效果截图如下: 在线演示地 ...

  9. php文件上传代码_PHP实现文件分片上传的实例代码

    PHP用超级全局变量数组$_FILES来记录文件上传相关信息的. 1.file_uploads=on/off 是否允许通过http方式上传文件 2.max_execution_time=30 允许脚本 ...

最新文章

  1. 排序算法 JavaScript
  2. 人脸识别种族偏见:黑黄错误率比白人高100倍 | 美官方机构横评189种算法
  3. Eclipse中使用git前账号密码等的配置问题
  4. springmvc十二:@PathVariable
  5. JDK1.5中的线程池(java.util.concurrent.ThreadPoolExecutor
  6. idea JDK安装与配置
  7. 收获,不止SQL优化——抓住SQL的本质--第十四章
  8. 【git系列】切换分支相关命令
  9. KuaiRec | 快手发布首个稠密度高达99%的推荐数据集, 可用于多种推荐系统方向研究...
  10. 同一台Windows机器中启动多个Memcached服务
  11. flyway常用配置_flyway的使用
  12. oracle9.2.04下载,Linux AS3.0下安装ORACLE9.2.04
  13. 浪潮服务器一键还原系统,一键恢复 怎样做备份
  14. excel数据分析 - 10个清洗文本类函数
  15. 微信小号来了,微信小号怎么申请(内附微信小号注册说明)
  16. 做阿里巴巴国际站比较容易踩雷的地方
  17. Could not initialize proxy - the owning Session was closed ---Hibernate与延迟加载:
  18. 硬盘安装Fedora 12
  19. java下载网站图片代码_java下载网上的图片到本地
  20. 什么是内存泄露,如何避免内存泄露 C++

热门文章

  1. 创建Windows10 密码重设盘
  2. 基金涨跌简单模拟0.01
  3. python实现图片分割成多分
  4. openfalcon 组件监控_开源监控解决方案OpenFalcon系列(一)
  5. iOS开发 - 使用自定义字体
  6. Cannot read property ‘prototype‘ of undefined
  7. 生成word附件和word域动态赋值
  8. 介绍新的次谐波混频器产品类别
  9. 「抖直播」开发技术复盘
  10. 关爱老人,回馈社会,走进东莞大朗敬老院