Discuz教程网

ajax实现无刷新分页(PHP)

[复制链接]
authicon dly 发表于 2011-8-31 12:57:18 | 显示全部楼层 |阅读模式
代码如下:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <title>投票结果</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <script type="text/javascript">
  7. function GetXmlHttpObject()
  8. {
  9. var xmlHttp=null;
  10. try
  11. {
  12. // Firefox, Opera 8.0+, Safari
  13. xmlHttp=new XMLHttpRequest();
  14. }
  15. catch (e)
  16. {
  17. // Internet Explorer
  18. try
  19. {
  20. xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  21. }
  22. catch (e)
  23. {
  24. xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  25. }
  26. }
  27. return xmlHttp;
  28. }
  29. function checkajax(){
  30. xmlHttp=GetXmlHttpObject()
  31. if (xmlHttp==null)
  32. {
  33. alert ("您的浏览器不支持AJAX!");
  34. return ;
  35. }else
  36. {
  37. return xmlHttp;
  38. }
  39. }
  40. function preshow(){
  41. ajaxobj = checkajax();
  42. var url = "page.php?page=1";
  43. ajaxobj.onreadystatechange=stateChanged;
  44. ajaxobj.open("GET",url,true);
  45. ajaxobj.send(null);
  46. }
  47. function showHint1(str)
  48. {
  49. ajaxobj = checkajax();
  50. document.getElementById("msg").innerHTML="正在读取数据……";
  51. var url = str;
  52. ajaxobj.onreadystatechange=stateChanged;
  53. ajaxobj.open("GET",url,true);
  54. ajaxobj.send(null);
  55. }
  56. function showHint2(str)
  57. {
  58. ajaxobj=checkajax();
  59. document.getElementById("msg").innerHTML="正在读取数据……";
  60. var url = str;
  61. ajaxobj.onreadystatechange=stateChanged;
  62. ajaxobj.open("GET",url,true);
  63. ajaxobj.send(null);
  64. }
  65. function showHint3(str)
  66. {
  67. ajaxobj=checkajax();
  68. document.getElementById("msg").innerHTML="正在读取数据……";
  69. var url = str;
  70. ajaxobj.onreadystatechange=stateChanged;
  71. ajaxobj.open("GET",url,true);
  72. ajaxobj.send(null);
  73. }
  74. function showHint4(str)
  75. {document.getElementById("msg").style.display="none";
  76. ajaxobj=checkajax();
  77. document.getElementById("msg").innerHTML="正在读取数据……";
  78. var url = str;
  79. ajaxobj.onreadystatechange=stateChanged;
  80. ajaxobj.open("GET",url,true);
  81. ajaxobj.send(null);
  82. }
  83. function stateChanged()
  84. {
  85. if (xmlHttp.readyState==4)
  86. {
  87. document.getElementById("message").innerHTML=xmlHttp.responseText;
  88. }
  89. }
  90. </script>
  91. </head>
  92. <body onload="preshow()">
  93. <div id="wrapper">
  94. <h4>用户留言如下:</h4>
  95. <div id="message">
  96. </div>
  97. </div>
  98. </body>
  99. </html>
复制代码


代码如下:

  1. <?php
  2. $link = mysql_connect('localhost', 'root', '') or die(mysql_error());
  3. mysql_select_db('vote', $link) or die(mysql_error());
  4. mysql_query("set names utf8");
  5. $num = 3;
  6. $url = "page.php";
  7. $con = "<ul id='msg'>";
  8. $page = (isset($_REQUEST['page'])) ? $_REQUEST['page'] : 1;
  9. $offset = ($page - 1) * $num;
  10. $result = mysql_query("SELECT COUNT(*) FROM client");
  11. $total = mysql_fetch_row($result);
  12. $total = $total[0];
  13. $pagenum = ceil($total / $num);
  14. $page = min($pagenum, $page); //获得首页
  15. $prepg = $page - 1; //上一页
  16. if ($prepg <= 1)
  17. $prepg = 1;
  18. $nextpg = ($page == $pagenum ? 1 : $page + 1); //下一页
  19. //如果只有一页则跳出函数:
  20. if ($pagenum <= 1)
  21. return false;
  22. $sql = "SELECT `name`,`content` FROM `client` LIMIT " . $offset . "," . $num;
  23. $res = mysql_query($sql);
  24. while ($content = mysql_fetch_row($res)) {
  25. $con .= "<li><span>$content[0]:</span> $content[1]</li>";
  26. }
  27. $con .= "</ul>";
  28. $con .= <<< PAGE
  29. <p id="page"><a href="#" id="first" onclick="showHint1('$url?page=1')">首页</a>|<a href="#" id="pre" onclick="showHint2('$url?page=$prepg')">上一页</a>|<a href="#" id="next" onclick="showHint3('$url?page=$nextpg')">下一页</a>|<a href="#" id="last" onclick="showHint4('$url?page=$pagenum')">尾页</a></p>
  30. PAGE;
  31. echo $con;
  32. ?>
复制代码








上一篇:利用PHP+mysql来做一个功能强大的在线计算器
下一篇:PHP 无限级数据JSON格式及JS解析
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-6-17 10:53

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表