PHP+ajax分页实例简析

这篇文章主要介绍了PHP+ajax分页实现方法,结合简单实例形式分析了php数据查询与ajax分页的相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下。

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

HTML代码如下:

  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Language" content="en" />
  4. <meta name="GENERATOR" content="PHPEclipse 1.0" />
  5. <meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
  6. <title>title</title>
  7. <mce:script type='text/javascript'><!--
  8. var http_request=false;
  9. function send_request(url){//初始化,指定处理函数,发送请求的函数
  10. http_request=false;
  11. //开始初始化XMLHttpRequest对象
  12. if(window.XMLHttpRequest){//Mozilla浏览器
  13. http_request=new XMLHttpRequest();
  14. if(http_request.overrideMimeType){//设置MIME类别
  15. http_request.overrideMimeType("text/xml");
  16. }
  17. }
  18. else if(window.ActiveXObject){//IE浏览器
  19. try{
  20. http_request=new ActiveXObject("Msxml2.XMLHttp");
  21. }catch(e){
  22. try{
  23. http_request=new ActiveXobject("Microsoft.XMLHttp");
  24. }catch(e){}
  25. }
  26. }
  27. if(!http_request){//异常,创建对象实例失败
  28. window.alert("创建XMLHttp对象失败!");
  29. return false;
  30. }
  31. http_request.open("GET",url,true);
  32. http_request.onreadystatechange=processrequest;
  33. //确定发送请求方式,URL,及是否同步执行下段代码
  34. http_request.send(null);
  35. }
  36. //处理返回信息的函数
  37. function processrequest(){
  38. if(http_request.readyState==4){//判断对象状态
  39. if(http_request.status==200){//信息已成功返回,开始处理信息
  40. document.getElementById('result').innerHTML=http_request.responseText;
  41. }
  42. else{
  43. //页面不正常
  44. alert("您所请求的页面不正常!");
  45. }
  46. }
  47. }
  48. function dopage(url)
  49. {
  50. document.getElementById('result').innerHTML="正在读取数据...";
  51. send_request(url);
  52. }
  53. // --></mce:script>
  54. </head>
  55. <body bgcolor="#FFFFFF" text="#000000" link="#FF9966" vlink="#FF9966" alink="#FFCC99">
  56. <div >
  57. </div>
  58. </body>
  59. </html>

php代码如下:

  1. header("Content-type: text/html;charset=GBK");//
  2. $link=mysql_connect('localhost','root','root');
  3. mysql_select_db('test');
  4. mysql_query("SET NAMES 'GBK'");
  5. $num=5;//每页显示5条
  6. $sql="select * from article ";
  7. //总共有多少记录
  8. $resultt=mysql_query($sql);
  9. //获取数据库总记录数
  10. $total=mysql_num_rows($result);
  11. echo $total;
  12. //总共有多少页
  13. $pagecount=$total/$num;
  14. //获取当前页
  15. $currentPage=isset($_GET['page'])?intval($_GET['page']):1;
  16. //查询条数
  17. $offset=($currentPage-1)*$num;
  18. //下一页
  19. $nexpage=($currentPage==$pagecount?0:$currentPage+1);
  20. //上一页
  21. $prepg=$currentPage-1;
  22. $url='ajax.php';
  23. //根据条数查询信息
  24. $strSQL="select * from article limit $offset,$num";
  25. $pagecontrol="当前第".$currentPage."页" ;
  26. $pagecontrol.="共".$pagecount."页";
  27. $pagecontrol.="<a href="javascript:dopage(" mce_href="javascript:dopage("'$url?page=1')>首 页</a> ";
  28. if($prepg) $pagecontrol.=" <a href="javascript:dopage(" mce_href="javascript:dopage("'$url?page=$prepg');>上一页</a> "; else $pagecontrol.=" 上一页 ";
  29. if($nexpage) $pagecontrol.="<a href="javascript:dopage(" mce_href="javascript:dopage("'$url?page=$nexpage');>下一页</a>"; else $pagecontrol.="下一页";
  30. $pagecontrol.="<a href="javascript:dopage(" mce_href="javascript:dopage("'$url?page=$pagecount')>尾 页</a>";
  31. $result1=mysql_query($strSQL);
  32. echo "<table ;
  33. echo "<tr>";
  34. echo "<td>编 号</td><td>标 题</td><td>新闻类型</td>";
  35. echo "</tr>";
  36. while($row=mysql_fetch_array($result1))
  37. {
  38. echo "<tr>";
  39. echo "<td>$row[id]</td><td>$row[title]</td><td>$row[classname]</td>";
  40. echo "</tr>";
  41. }
  42. echo "</table>";
  43. echo "<br/>";
  44. echo $pagecontrol;

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