PHP分页类,生成分页html字符串
<?php
namespace Common\Common; /**
* 该Page类主要有两个方法:showPageString(), showPageStringAsAJAX()
*
* showPageString():主要用于生成普通的超链接的html分页代码,页面也会随之刷新。
*
* showPageStringAsAJAX():主要用于利用ajax发送异步请求,生成带有js函数和参数的html分页代码。
*
* @author Fly 2016/09/25
*
*/
class Page{ /**
* 通用的分页html字符串
*
* @param int $currentPage 当前页面
* @param int $pageSize 页面条数
* @param int $totalCount 总条数
*
* @return string $output 返回的分页Html字符串
*/
public function showPageString($currentPage, $pageSize, $totalCount){
$redirectTo = "/Admin/Score/loadOrderInfo";//分页每次跳转的地址
$pageSize = $pageSize == 0 ? 3 : $pageSize; $totalPages = floor(($totalCount + $pageSize - 1) / $pageSize); //总页数
$output = '<nav><ul class="pagination">';//输出字符串
if ($totalPages > 1)
{
//if (currentPage != 1)
{//处理首页连接
$output .= "<li><a href=".$redirectTo."?pageIndex=1&pageSize=".$pageSize."'>首页</a></li>"; }
if ($currentPage > 1)
{//处理上一页的连接
$output .= "<li><a href='".$redirectTo."?pageIndex=".($currentPage -1)."&pageSize=".$pageSize."'>上一页</a></li>";
}
else
{
// output.Append("<span class='pageLink'>上一页</span>");
} $output .= " ";
$currint = 5;
for ($i = 0; $i <= 10; $i++)
{//一共最多显示10个页码,前面5个,后面5个
if (($currentPage + $i - $currint) >= 1 && ($currentPage + $i - $currint) <= $totalPages)
{
if ($currint == $i)
{//当前页处理
//output.Append(string.Format("[{0}]", currentPage));
$output .= "<li class='active'><a href='javascript:void(0);'>$currentPage</a></li>";
}
else
{//一般页处理
$output .= "<li><a href='".$redirectTo."?pageIndex=".($currentPage + $i - $currint)."&pageSize=".$pageSize."'>".($currentPage + $i - $currint)."</a></li>";
}
}
$output .= " ";
}
if ($currentPage < $totalPages)
{//处理下一页的链接
$output .= "<li><a href='".$redirectTo."?pageIndex=".($currentPage + 1)."&pageSize=".$pageSize."'>下一页</a></li>";
}
else
{
//output.Append("<span class='pageLink'>下一页</span>");
}
$output .=" ";
if ($currentPage != $totalPages)
{
$output .= "<li><a href='".$redirectTo."?pageIndex=".$totalPages."&pageSize=".$pageSize."'>末页</a></li>";
}
$output .= "</ul></nav>";
}
//$output .= "第".$currentPage."页 / 共".$totalPages."页";//这个统计加不加都行 return $output;
} /**
* 利用ajax的异步分页
*
* @param string $jumpFun 对应js的function名字
* @param int $currentPage 当前页面
* @param int $pageSize 页面条数
* @param int $totalCount 总条数
*
* @return string $output 返回的分页Html字符串
*/
public function showPageStringAsAJAX( $jumpFun, $currentPage, $pageSize, $totalCount){ $pageSize = $pageSize == 0 ? 3 : $pageSize; $totalPages = floor(($totalCount + $pageSize - 1) / $pageSize); //总页数
$output = '<nav><ul class="pagination pagination-lg">';//输出字符串
if ($totalPages > 1)
{
//if (currentPage != 1)
{//处理首页连接
$output .= "<li><a class='pageLink' href='javascript:void(0);' onclick='".$jumpFun."(1,".$pageSize.")'>首页</a></li>"; }
if ($currentPage > 1)
{//处理上一页的连接
$output .= "<li><a href='javascript:void(0);' onclick='".$jumpFun."(".($currentPage - 1).", ".$pageSize.")'>上一页</a></li>";
}
else
{
// output.Append("<span class='pageLink'>上一页</span>");
} $output .= " ";
$currint = 5;
for ($i = 0; $i <= 10; $i++)
{//一共最多显示10个页码,前面5个,后面5个
if (($currentPage + $i - $currint) >= 1 && ($currentPage + $i - $currint) <= $totalPages)
{
if ($currint == $i)
{//当前页处理
//output.Append(string.Format("[{0}]", currentPage));
$output .= "<li class='active'><a href='javascript:void(0);'>$currentPage</a></li>";
}
else
{//一般页处理
$output .= "<li><a href='javascript:void(0);' onclick='".$jumpFun."(".($currentPage + $i - $currint).",".$pageSize.")'>".($currentPage + $i - $currint)."</a></li>";
}
}
$output .= " ";
}
if ($currentPage < $totalPages)
{//处理下一页的链接
$output .= "<li><a href='javascript:void(0);' onclick='".$jumpFun."(".($currentPage + 1).",".$pageSize.")'>下一页</a></li>";
}
else
{
//output.Append("<span class='pageLink'>下一页</span>");
}
$output .=" ";
if ($currentPage != $totalPages)
{
//处理末页的链接
$output .= "<li><a href='javascript:void(0);' onclick='".$jumpFun."(".$totalPages.", ".$pageSize.")'>末页</a></li>";
}
$output .= "</ul></nav>";
}
//$output .= "第".$currentPage."页 / 共".$totalPages."页";//这个统计加不加都行 return $output;
} }
PHP分页类,生成分页html字符串的更多相关文章
- Yii2中自带分页类实现分页
1.首先写控制器层 先引用pagination类 use yii\data\Pagination; 写自己的方法: function actionFenye(){ $data = Fie ...
- php分页类代码和使用
在这要说的一点就是如果你做的分页是有搜索条件的,那么就可以用下面的代码,然后调用之后在new Page()里面把连接加进去就可以了.例如: $href="http://www.***.cn/ ...
- php分页类代码带分页样式效果(转)
php分页类代码,有漂亮的分页样式风格 时间:2016-03-16 09:16:03来源:网络 导读:不错的php分页类代码,将类文件与分页样式嵌入,实现php查询结果的精美分页,对研究php分页原理 ...
- php四个常用类封装 :MySQL类、 分页类、缩略图类、上传类;;分页例子;
Mysql类 <?php /** * Mysql类 */ class Mysql{ private static $link = null;//数据库连接 /** * 私有的构造方法 */ pr ...
- PHP简单漂亮的分页类
本文介绍一款原生的PHP分页类,分页样式有点类似bootstrap. <?php /* * ********************************************* * @类名 ...
- CI框架分页类
分页类1.分页类参数说明 'base_url' => 指向你的分页所在的控制器类/方法的完整的 URL, 'total_rows' => 数据的总行数, 'per_page' => ...
- php大力力 [019节]php分页类的学习
2015-08-26 php大力力019.php分页类的学习 [2014]兄弟连高洛峰 PHP教程14.2.1 分页需求分析 14:18 [2014]兄弟连高洛峰 PHP教程14.2.2 分页类中分页 ...
- php+mysql分页类的入门实例
php+mysql分页类的简单代码 时间:2016-02-25 06:16:26来源:网络 导读:php+mysql分页类的简单代码,二个php分页类代码,对商品进行分页展示,当前页面数,每个页面展示 ...
- 简单实用的原生PHP分页类
一款简单实用的原生PHP分页类,分页按钮样式简洁美观,页码多的时候显示“...”,也是挺多网站用的效果 核心分页代码 include_once("config.php"); req ...
- drf偏移分页组件-游标分页-自定义过滤器-过滤器插件django-filter
drf偏移分页组件 LimitOffsetPagination 源码分析:获取参数 pahenations.py from rest_framework.pagination import Limit ...
随机推荐
- c#实现邮件发送链接激活
2016-08-24 10:09:52 public void MailSend(string email) { MailMessage MyMail = new MailMessage(); MyM ...
- oracle应用启动时常会报未知服务名
修改/etc/hosts文件 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4#::1 loca ...
- GDUFE-OJ 1203x的y次方的最后三位数 快速幂
嘿嘿今天学了快速幂也~~ Problem Description: 求x的y次方的最后三位数 . Input: 一个两位数x和一个两位数y. Output: 输出x的y次方的后三位数. Sample ...
- 常用的logging配置
centos 6.5,python 2.6 习惯封装一个log.py #!/usr/bin/python # -*- coding: UTF-8 -*- import logging from log ...
- 一篇说尽Excel常见函数用法
一篇说尽Excel常见函数用法 Word,PPT,Excel这三个Office软件是职场办公里最常用的三个软件,但是我发现简书上写PPT的教程多,Excel的少,即使有,也是零零散散.因为Excel的 ...
- nfs 配置
服务端1.打印系统版本cat /etc/redhat-release2.检查并安装NFS服务rpm -aq nfs-utils portmap rpcbindyum grouplistyum grou ...
- Java开发中经典的小实例-(打印输入重复的值)
import java.util.ArrayList;import java.util.Scanner;public class Test8 { public static void main( ...
- 命令行用sublime打开当前目录
执行 ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" subl 就可以在命令行用 ...
- 【Extjs】large按钮,图片全部覆盖按钮
在网上找了一些办法,不太好用,还是该Extjs的样式来的最快... 将下列css加到Extjs所用页面. .x-btn-default-large-mc { padding-bottom:0px !i ...
- jieba分词
一.安装 pip 安装 或者 先下载http://pypi.python.org/pypi/jieba/ ,解压后运行python setup.py install 二.功能 1.分词 2.添加自定义 ...