php实现分页
php函数
<?php
//////////////////
//$result :容器的id
//$url:请求的url
//$total:总条数
//$num:页容量
//$pagenum:总页数
//$page:当前页
//$prepg:上一页
//$nextpg:下一页
//offset:limit后面的那个
////////////////
function ajaxPage($result,$url,$total,$num=20)
{
global $page,$pagenum,$prepg,$nextpg,$offset;
$GLOBALS["num"]=$num;
$page=isset($_GET['page'])?intval($_GET['page']):1; //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。
//$url='test1.php';//获取本页URL
$pagenum=ceil($total/$num); //获得总页数,也是最后一页
$page=min($pagenum,$page);//获得首页
$prepg=$page-1;//上一页
$nextpg=($page==$pagenum ? 0 : $page+1);//下一页
$offset=($page-1)*$num;
//开始分页导航条代码:
if($total==$offset+1){
$pagenav="显示第 <B>".$total."</B> 条记录,共 $total 条记录 ";
}else{
$pagenav="
显示第
<B>".($total?($offset+1):0)."</B>-<B>".min($offset+$num,$total)."</B>
条记录,共 $total 条记录 ";
}
//如果只有一页则跳出函数:
if($pagenum<1)
{
return false;
}
//获取url
if(strpos($url,"?")){
$firstPg =$url."&page=1";
$prePg = $url."&page=".$prepg;
$nextPg = $url."&page=".$nextpg;
$lastPg=$url."&page=".$pagenum;
}else{
$firstPg =$url."?page=1";
$prePg = $url."?page=".$prepg;
$nextPg = $url."?page=".$nextpg;
$lastPg=$url."?page=".$pagenum;
}
$pagenav.=" <a href=javascript:dopage('$result','$firstPg');>首页</a> ";
if($prepg) $pagenav.=" <a href=javascript:dopage('$result','$prePg');>上一页</a> "; else $pagenav.=" 上一页 ";
if($nextpg) $pagenav.=" <a href=javascript:dopage('$result','$nextPg');>下一页</a> "; else $pagenav.=" 下一页";
$pagenav.=" <a href=javascript:dopage('$result','$lastPg');>末页</a> ";
$pagenav.="</select> 页,共 $pagenum 页";
return $pagenav;
//假如传入的页数参数大于总页数,则显示错误信息
if($page>$pagenum){
Echo "Error : Can Not Found The page ".$page;
Exit;
}
//echo $num;
}
?>
把以上代码存为一个文件命名为ajaxPage.php
js代码
var http_request=false;
function send_request(url)
{
http_request=false;
//开始初始化XMLHttp对象
if(window.XMLHttpRequest){//MOILLA浏览器
http_request=new XMLHttpRequest();
if(http_request.overrideMimeType){
http_request.overrideMimeType("text/xml");
}
}
else if(window.ActiveXObject){//IE 浏览器
try{
http_request=new ActiveXObject("Msxml2.XMLHttp");
}catch(e){
try{
http_request=new ActiveXObject("Microsoft.XMLHttp");
}catch(e){}
}
}if(!http_request){
window.alert("创建XMLHttp对象失败");
return false;
}
http_request.onreadystatechange=processrequest;
//确定发送请求方式,URL,及是否同步执行下段代码
http_request.open("GET",url,true);
http_request.send(null);
}
//处理返回信息函数
function processrequest(){
//alert(reobj);
if(http_request.readyState==4){
if(http_request.status==200){
//alert(http_request.responseText);
document.getElementById(reobj).innerHTML=http_request.responseText;
//alert(http_request.responseText);
}else{
alert("您所请求的页面不正常");
}
}
}
function dopage(obj,url){
//alert(222);
document.getElementById(obj).innerHTML="正在读取数据.....";
reobj=obj;
send_request(url);
}
把以上代码存为一个文件命名为ajaxPage.js
调用:
//sql语句
$query1
= "select * from domainpay,alldomain where domainpay.domainId =
alldomain.domainId and UNIX_TIMESTAMP('{$startTime}') <=
UNIX_TIMESTAMP(payTime) and UNIX_TIMESTAMP(payTime) <=
UNIX_TIMESTAMP('{$endTime}') and status = 'active' and payTime is not
NULL";
}
//执行sql语句
$db -> execute($query);
//提取结果集
$result = $db -> fetch();
//计算总条数
$total = $db -> recordNum;
//分页函数的调用
$pagenav1
=
ajaxPage("supplement","isupplement.php?start={$_GET['start']}&end={$_GET['end']}&ac={$_GET['ac']}",$total,2);
$query.=" limit $offset,$num";
$db ->execute($query);
$result = $db -> fetch();
$db 是实例化的一个操作数据库的类!大家用的时候按照自己的即可!
php实现分页的更多相关文章
- 记一次SQLServer的分页优化兼谈谈使用Row_Number()分页存在的问题
最近有项目反应,在服务器CPU使用较高的时候,我们的事件查询页面非常的慢,查询几条记录竟然要4分钟甚至更长,而且在翻第二页的时候也是要这么多的时间,这肯定是不能接受的,也是让现场用SQLServerP ...
- js实现前端分页页码管理
用JS实现前端分页页码管理,可以很美观的区分页码显示(这也是参考大多数网站的分页页码展示),能够有很好的用户体验,这也是有业务需要就写了一下,还是新手,经验不足,欢迎指出批评! 首先先看效果图: 这是 ...
- JdbcTemplate+PageImpl实现多表分页查询
一.基础实体 @MappedSuperclass public abstract class AbsIdEntity implements Serializable { private static ...
- MVC如何使用开源分页插件shenniu.pager.js
最近比较忙,前期忙公司手机端接口项目,各种开发+调试+发布现在几乎上线无问题了:虽然公司项目忙不过在期间抽空做了两件个人觉得有意义的事情,一者使用aspnetcore开发了个人线上项目(要说线上其实只 ...
- NET Core-TagHelper实现分页标签
这里将要和大家分享的是学习总结使用TagHelper实现分页标签,之前分享过一篇使用HtmlHelper扩展了一个分页写法地址可以点击这里http://www.cnblogs.com/wangrudo ...
- 套用JQuery EasyUI列表显示数据、分页、查询
声明,本博客从csdn搬到cnblogs博客园了,以前的csdn不再更新,朋友们可以到这儿来找我的文章,更多的文章会发表,谢谢关注! 有时候闲的无聊,看到extjs那么肥大,真想把自己的项目改了,最近 ...
- php实现的分页类
php分页类文件: <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 pr ...
- C#关于分页显示
---<PS:本人菜鸟,大手子还请高台贵手> 以下是我今天在做分页时所遇到的一个分页显示问题,使用拼写SQL的方式写的,同类型可参考哦~ ------------------------- ...
- JAVA 分页工具类及其使用
Pager.java package pers.kangxu.datautils.common; import java.io.Serializable; import java.util.List; ...
- 分页插件--根据Bootstrap Paginator改写的js插件
刚刚出来实习,之前实习的公司有一个分页插件,和后端的数据字典约定好了的,基本上是看不到内部是怎么实现的,新公司是做WPF的,好像对于ASP.NET的东西不多,导师扔了一个小系统给我和另一个同事,指了两 ...
随机推荐
- .bash_profile和.bashrc的什么区别
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc:为每一个运 ...
- php 日期处理 例子
<?php date_default_timezone_set('PRC'); //默认时区 echo "今天:",date("Y-m-d",time() ...
- toad执行存储过程
选中存储过程,右键执行,根据存储过程中的sql语句,输入参数, 执行结果的out值点击connection output,鼠标放在statement标签,就会显示下边的out值. 在db2cmd下执行 ...
- getByClassName2016/4/21
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- 利用BFS求最短路
利用BFS求图的最短路, POJ3984 #define _CRT_SECURE_NO_DEPRECATE #include<iostream> #include<string.h& ...
- Node.js学习 - Route
Node.js 路由 URL解析,需要url和querystring两个模块url.parse(string).query | url.parse(string).pathname | | | | | ...
- C1 FlexGrid控件 Editor 冲突问题
当给C1FlexGrid控件加入 Checkbox后,添加新行时对新行的Editor 赋新控件时,会冲突如下图: 下面我们借助BeforeRowColChange 事件来解决这个问题: 我 ...
- loadrunner常用计数器分析
内存是第一个监视对象,确定系统瓶颈的第一个步骤就是排除内存问题.内存短缺的问题可能会引起各种各样的问题. Object(对象) Counters Description(描述) 参考值 Memory ...
- 使用for循环还是foreach循环?
很多时候我们很自然的认为,for循环的时候使用foreach和原来的for循环用下标的方式遍历是相同的. 而且因为foreach循环写法简单,很容易理解,而且少去了很多麻烦的变量,所以估计在学会使用f ...
- PAT1002
This time, you are supposed to find A+B where A and B are two polynomials. 这一次,你被要求计算A+B当A和B是两个多项式的时 ...