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

这篇文章主要介绍了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 >
  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($result) or 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 ;
  22. else
  23. $pagenav.="<a onclick=javascript:dopage('result','$url?page=1') ;
  24. if($prepage)
  25. $pagenav.="<a onclick=javascript:dopage('result','$url?page=$prepage') ;
  26. else
  27. $pagenav.="<a ;
  28. if($nextpage)
  29. $pagenav.="<a onclick=javascript:dopage('result','$url?page=$nextpage') ;
  30. else
  31. $pagenav.="<a ;
  32. if($pagenum)
  33. $pagenav.="<a onclick=javascript:dopage('result','$url?page=$pagenum') ;
  34. else
  35. $pagenav.="<a ;
  36. $pagenav.="共".$pagenum."页";
  37. if($page>$pagenum){
  38. echo "error:没有此页".$page;
  39. exit();
  40. }
  41. ?>
  42. <table align="center" width="300">
  43. <tr bgcolor="#cccccc" align="center">
  44. <td>用户名</td>
  45. <td>用户密码</td>
  46. </tr>
  47. <?php
  48. $info=mysql_query("select * from user limit $pageset,$page_size");
  49. while($array=mysql_fetch_array($info)){
  50. ?>
  51. <tr align="center">
  52. <td><?php echo $array['username'];?></td>
  53. <td><?php echo $array['password'];?></td>
  54. </tr>
  55. <?php
  56. }
  57. ?>
  58. </table>
  59. <?php
  60. echo "<p align=center>$pagenav</p>";
  61. ?>
  62. </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. //处理返回信息的函数
  30. function processrequest(){
  31. if(http_request.readyState==4){//判断对象状态
  32. if(http_request.status==200){//信息已成功返回,开始处理信息
  33. document.getElementByIdx(reobj).innerHTML=http_request.responseText;
  34. }
  35. else{//页面不正常
  36. alert("您所请求的页面不正常!");
  37. }
  38. }
  39. }
  40. function dopage(obj,url){
  41. //document.getElementByIdx(obj).innerHTML="正在读取数据...";
  42. send_request(url);
  43. reobj=obj;
  44. }

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