搜索
首页php教程php手册Ajax PHP分页演示

Ajax PHP分页演示

Jun 13, 2016 pm 12:34 PM
ajaxphp分页发帖演示讲解

今天看默默讲解分页,想想好像原创区很久没人发帖了,就顺便把默默的那个扩展开来,来个PHP+AJAX分页演示吧,好的,说来就来,首先我们依然是基本的AJAX开发框架:

复制代码 代码如下:

var http_request=false; 
  function send_request(url){//初始化,指定处理函数,发送请求的函数 
    http_request=false; 
    //开始初始化XMLHttpRequest对象 
    if(window.XMLHttpRequest){//Mozilla浏览器 
     http_request=new XMLHttpRequest(); 
     if(http_request.overrideMimeType){//设置MIME类别 
       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(){ 
   if(http_request.readyState==4){//判断对象状态 
     if(http_request.status==200){//信息已成功返回,开始处理信息 
      document.getElementById(reobj).innerHTML=http_request.responseText; 
     } 
     else{//页面不正常 
      alert("您所请求的页面不正常!"); 
     } 
   } 
  } 
  function dopage(obj,url){ 
   document.getElementById(obj).innerHTML="正在读取数据..."; 
   send_request(url); 
   reobj=obj; 
   } 


内容我放在一个div中显示,当翻页动作产生时,利用AJAX更新DIV达到翻页效果这是内容显示页面代码:

复制代码 代码如下:

header("Content-type: text/html;charset=GBK");//输出编码,避免中文乱码 
?> 
 

 
ajax分页演示 
<script></script> 
 
 
 
$page=isset($_GET['page'])?intval($_GET['page']):1;        //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。 
$num=10;                                      //每页显示10条数据 

$db=mysql_connect("localhost","root","7529639");           //创建数据库连接 
mysql_select_db("cr_download");                 //选择要操作的数据库 

/* 
首先咱们要获取数据库中到底有多少数据,才能判断具体要分多少页,具体的公式就是 
总数据库除以每页显示的条数,有余进一。 
也就是说10/3=3.3333=4 有余数就要进一。 
*/ 

$result=mysql_query("select * from cr_userinfo"); 
$total=mysql_num_rows($result); //查询所有的数据 

$url='test.php';//获取本页URL 

//页码计算 
$pagenum=ceil($total/$num);                                    //获得总页数,也是最后一页 
$page=min($pagenum,$page);//获得首页 
$prepg=$page-1;//上一页 
$nextpg=($page==$pagenum ? 0 : $page+1);//下一页 
$offset=($page-1)*$num;                                        //获取limit的第一个参数的值,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。 

//开始分页导航条代码: 
$pagenav="显示第 ".($total?($offset+1):0)."-".min($offset+10,$total)." 条记录,共 $total 条记录 "; 

//如果只有一页则跳出函数: 
if($pagenum
$pagenav.=" 首页 "; 
if($prepg) $pagenav.=" 前页 "; else $pagenav.=" 前页 "; 
if($nextpg) $pagenav.=" 后页 "; else $pagenav.=" 后页 "; 
$pagenav.=" 尾页 "; 
$pagenav.=" 页,共 $pagenum 页"; 

//假如传入的页数参数大于总页数,则显示错误信息 
If($page>$pagenum){ 
       Echo "Error : Can Not Found The page ".$page; 
       Exit; 


$info=mysql_query("select * from cr_userinfo limit $offset,$num");   //获取相应页数所需要显示的数据 
While($it=mysql_fetch_array($info)){ 
       Echo $it['username']; 
       echo "
"; 
}                                                              //显示数据 
  echo"
"; 
  echo $pagenav;//输出分页导航 

?> 
 
 
 翻页的关键就在于翻页时调用dopage()函数,接着利用回调信息来更新div中的内容。服务器端核心代码:

复制代码 代码如下:

header("Content-type: text/html;charset=GBK");//输出编码,避免中文乱码 
$page=isset($_GET['page'])?intval($_GET['page']):1;        //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。 
$num=10;                                      //每页显示10条数据 

$db=mysql_connect("localhost","root","7529639");           //创建数据库连接 
mysql_select_db("cr_download");                 //选择要操作的数据库 

/* 
首先咱们要获取数据库中到底有多少数据,才能判断具体要分多少页,具体的公式就是 
总数据库除以每页显示的条数,有余进一。 
也就是说10/3=3.3333=4 有余数就要进一。 
*/ 

$result=mysql_query("select * from cr_userinfo"); 
$total=mysql_num_rows($result); //查询所有的数据 

$url='test.php';//获取本页URL 

//页码计算 
$pagenum=ceil($total/$num);                                    //获得总页数,也是最后一页 
$page=min($pagenum,$page);//获得首页 
$prepg=$page-1;//上一页 
$nextpg=($page==$pagenum ? 0 : $page+1);//下一页 
$offset=($page-1)*$num;                                        //获取limit的第一个参数的值,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。 

//开始分页导航条代码: 
$pagenav="显示第 ".($total?($offset+1):0)."-".min($offset+10,$total)." 条记录,共 $total 条记录 "; 

//如果只有一页则跳出函数: 
if($pagenum
$pagenav.=" 首页 "; 
if($prepg) $pagenav.=" 前页 "; else $pagenav.=" 前页 "; 
if($nextpg) $pagenav.=" 后页 "; else $pagenav.=" 后页 "; 
$pagenav.=" 尾页 "; 
$pagenav.=" 页,共 $pagenum 页"; 

//假如传入的页数参数大于总页数,则显示错误信息 
If($page>$pagenum){ 
       Echo "Error : Can Not Found The page ".$page; 
       Exit; 


$info=mysql_query("select * from cr_userinfo limit $offset,$num");   //获取相应页数所需要显示的数据 
While($it=mysql_fetch_array($info)){ 
       Echo $it['username']; 
       echo "
"; 
}                                                              //显示数据 
  echo"
"; 
  echo $pagenav;//输出分页导航 

?> 

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),