当前位置:首页 > PHP教程 > php分页 > 列表

php+ajax无刷新分页实例详解

发布:smiling 来源: PHP粉丝网  添加日期:2021-06-28 10:45:22 浏览: 评论:0 

这篇文章主要介绍了php+ajax无刷新分页的方法,结合实例形式较为详细的分析了php数据查询结合ajax数据交互实现无刷新分页效果的相关技巧,需要的朋友可以参考下。

本文实例讲述了php+ajax无刷新分页实现方法,分享给大家供大家参考,具体如下:

ajax_page_show_userinfo.php页面如下:

  1. <meta 'Content:text/html;charset=utf-8'></meta> 
  2. <title>ajax分页演示</title> 
  3. <script language="javascript" src="js/ajaxpage.js"></script> 
  4. <div id="result"
  5. <?php 
  6. $db=mysql_connect("localhost","root","123456"); 
  7. mysql_select_db("register"); 
  8. mysql_query("set names 'utf-8'"); 
  9. $result=mysql_query("select * from user"); 
  10. $total=mysql_num_rows($resultor die(mysql_error()); 
  11. $page=isset($_GET['page'])?intval($_GET['page']):1; 
  12. $page_size=5; 
  13. $url='ajax_page_show_userinfo.php'
  14. $pagenum=ceil($total/$page_size); 
  15. $page=min($pagenum,$page); 
  16. $prepage=$page-1; 
  17. $nextpage=($page==$pagenum?0:$page+1); 
  18. $pageset=($page-1)*$page_size
  19. $pagenav.="显示第".($total?($pageset+1):0)."-".min($pageset+5,$total)."记录&nbsp;共<b>".$total."</b>条记录&nbsp;现在是第&nbsp;<b>".$page."</b>&nbsp;页&nbsp;"
  20. if($page<=1) 
  21. $pagenav.="<a style=cursor:not-allowed;>首页</a>&nbsp;"
  22. else 
  23. $pagenav.="<a onclick=javascript:dopage('result','$url?page=1') style=cursor:pointer;>首页</a>&nbsp;"
  24. if($prepage
  25. $pagenav.="<a onclick=javascript:dopage('result','$url?page=$prepage') style=cursor:pointer;>上一页</a>&nbsp;"
  26. else 
  27. $pagenav.="<a style=cursor:not-allowed;>上一页</a>&nbsp;"
  28. if($nextpage
  29. $pagenav.="<a onclick=javascript:dopage('result','$url?page=$nextpage') style=cursor:pointer;>下一页</a>&nbsp;"
  30. else 
  31. $pagenav.="<a style=cursor:not-allowed;>下一页</a>&nbsp;"
  32. if($pagenum
  33. $pagenav.="<a onclick=javascript:dopage('result','$url?page=$pagenum') style=cursor:pointer;>尾页</a>&nbsp;"
  34. else 
  35. $pagenav.="<a style=cursor:not-allowed;>尾页</a>&nbsp;"
  36. $pagenav.="共".$pagenum."页"
  37. if($page>$pagenum){ 
  38.   echo "error:没有此页".$page
  39.   exit(); 
  40. ?> 
  41. <table align="center" border="2" width="300"
  42.  <tr bgcolor="#cccccc" align="center"
  43.   <td>用户名</td> 
  44.   <td>用户密码</td> 
  45.  </tr> 
  46. <?php 
  47. $info=mysql_query("select * from user limit $pageset,$page_size"); 
  48. while($array=mysql_fetch_array($info)){ 
  49. ?> 
  50.  <tr align="center"
  51.   <td><?php echo $array['username'];?></td> 
  52.   <td><?php echo $array['password'];?></td> 
  53.  </tr> 
  54. <?php   
  55. ?> 
  56. </table> 
  57. <?php 
  58. echo "<p align=center>$pagenav</p>"
  59. ?> 
  60. </div> 

js文件下的ajaxpage.js:

  1. var http_request=false; 
  2. function send_request(url){//初始化,指定处理函数,发送请求的函数 
  3.   http_request=false; 
  4.  //开始初始化XMLHttpRequest对象 
  5.  if(window.XMLHttpRequest){//Mozilla浏览器 
  6.  http_request=new XMLHttpRequest(); 
  7.  if(http_request.overrideMimeType){//设置MIME类别 
  8.   http_request.overrideMimeType("text/xml"); 
  9.  } 
  10.  } 
  11.  else if(window.ActiveXObject){//IE浏览器 
  12.  try{ 
  13.   http_request=new ActiveXObject("Msxml2.XMLHttp"); 
  14.  }catch(e){ 
  15.   try{ 
  16.   http_request=new ActiveXobject("Microsoft.XMLHttp"); 
  17.   }catch(e){} 
  18.  } 
  19.   } 
  20.  if(!http_request){//异常,创建对象实例失败 
  21.  window.alert("创建XMLHttp对象失败!"); 
  22.  return false; 
  23.  } 
  24.  http_request.onreadystatechange=processrequest; 
  25.  //确定发送请求方式,URL,及是否同步执行下段代码 
  26.  http_request.open("GET",url,true); 
  27.  http_request.send(null); 
  28. //处理返回信息的函数 
  29. function processrequest(){ 
  30.   if(http_request.readyState==4){//判断对象状态 
  31.    if(http_request.status==200){//信息已成功返回,开始处理信息 
  32.   document.getElementByIdx(reobj).innerHTML=http_request.responseText; 
  33.  } 
  34.  else{//页面不正常 
  35.   alert("您所请求的页面不正常!"); 
  36.  } 
  37.   } 
  38. function dopage(obj,url){ 
  39.   //document.getElementByIdx(obj).innerHTML="正在读取数据..."; 
  40.   send_request(url); 
  41.   reobj=obj; 

希望本文所述对大家PHP程序设计有所帮助。

Tags: php+ajax无刷新分页

分享到:

相关文章