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实现分页的更多相关文章

  1. 记一次SQLServer的分页优化兼谈谈使用Row_Number()分页存在的问题

    最近有项目反应,在服务器CPU使用较高的时候,我们的事件查询页面非常的慢,查询几条记录竟然要4分钟甚至更长,而且在翻第二页的时候也是要这么多的时间,这肯定是不能接受的,也是让现场用SQLServerP ...

  2. js实现前端分页页码管理

    用JS实现前端分页页码管理,可以很美观的区分页码显示(这也是参考大多数网站的分页页码展示),能够有很好的用户体验,这也是有业务需要就写了一下,还是新手,经验不足,欢迎指出批评! 首先先看效果图: 这是 ...

  3. JdbcTemplate+PageImpl实现多表分页查询

    一.基础实体 @MappedSuperclass public abstract class AbsIdEntity implements Serializable { private static ...

  4. MVC如何使用开源分页插件shenniu.pager.js

    最近比较忙,前期忙公司手机端接口项目,各种开发+调试+发布现在几乎上线无问题了:虽然公司项目忙不过在期间抽空做了两件个人觉得有意义的事情,一者使用aspnetcore开发了个人线上项目(要说线上其实只 ...

  5. NET Core-TagHelper实现分页标签

    这里将要和大家分享的是学习总结使用TagHelper实现分页标签,之前分享过一篇使用HtmlHelper扩展了一个分页写法地址可以点击这里http://www.cnblogs.com/wangrudo ...

  6. 套用JQuery EasyUI列表显示数据、分页、查询

    声明,本博客从csdn搬到cnblogs博客园了,以前的csdn不再更新,朋友们可以到这儿来找我的文章,更多的文章会发表,谢谢关注! 有时候闲的无聊,看到extjs那么肥大,真想把自己的项目改了,最近 ...

  7. php实现的分页类

    php分页类文件: <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 pr ...

  8. C#关于分页显示

    ---<PS:本人菜鸟,大手子还请高台贵手> 以下是我今天在做分页时所遇到的一个分页显示问题,使用拼写SQL的方式写的,同类型可参考哦~ ------------------------- ...

  9. JAVA 分页工具类及其使用

    Pager.java package pers.kangxu.datautils.common; import java.io.Serializable; import java.util.List; ...

  10. 分页插件--根据Bootstrap Paginator改写的js插件

    刚刚出来实习,之前实习的公司有一个分页插件,和后端的数据字典约定好了的,基本上是看不到内部是怎么实现的,新公司是做WPF的,好像对于ASP.NET的东西不多,导师扔了一个小系统给我和另一个同事,指了两 ...

随机推荐

  1. Django 分页功能

    Django 分页功能比较强大,这边是结合官网的内容写的可以参考 https://docs.djangoproject.com/en/1.9/topics/pagination/ 分页命令行练习案列 ...

  2. 【C#】HTTP请求GET,POST(远程证书失效)

    HTTP定义了与服务器交互的不同方法,基本方法有GET,POST,PUT,DELETE,分别对于查,该,增,删.一般情况下我们只用到GET和POST,其他两种都也可以用GET和POST来实现,很多浏览 ...

  3. Servlet学习三:不允许直接访问jsp处理方式一过滤器

    转自:http://zy19982004.iteye.com/blog/1755189

  4. C++ 学习之函数重载、基于const的重载

    函数重载 函数重载的定义是:在相同的作用域中,如果函数具有相同名字而仅仅是形参表不同,此时成为函数重载.注意函数重载不能基于不同的返回值类型进行重载. 注意函数重载中的"形参表"不 ...

  5. codeforces 689B Mike and Shortcuts 最短路

    题目大意:给出n个点,两点间的常规路为双向路,路长为两点之间的差的绝对值,第二行为捷径,捷径为单向路(第i个点到ai点),距离为1.问1到各个点之间的最短距离. 题目思路:SPFA求最短路 #incl ...

  6. Moya 浅析

    Moya是一个高度抽象的网络库,他的理念是让你不用关心网络请求的底层的实现细节,只用定义你关心的业务.且Moya采用桥接和组合来进行封装(默认桥接了Alamofire),使得Moya非常好扩展,让你不 ...

  7. 指针--摘自C++技术网 作者dx

    “指针是什么?”“指针就是一种数据类型.”“你确定?”“那数据类型是什么?额,这个???类型就是类型,还能怎么解释嘛.”“指针有多少种?”“指针有好多种,比如整型指针,字符指针等等.”“指针是怎么确定 ...

  8. 解决IOS safari在input focus弹出输入法时不支持position fixed的问题

    该文章为转载 我们在做移动web应用的时候,常常习惯于使用position:fixed把一个input框作为提问或者搜索框固定在页面底部.但在IOS的safari和webview中,对position ...

  9. HBase性能优化方法总结(一):表的设计

    本文主要是从HBase应用程序设计与开发的角度,总结几种常用的性能优化方法.有关HBase系统配置级别的优化,可参考:淘宝Ken Wu同学的博客. 下面是本文总结的第一部分内容:表的设计相关的优化方法 ...

  10. excel转化为Json

    Sheet sheet;        Workbook book;        Cell cell1,cell2,cell3,cell4;        JSONArray jsonArray = ...