首页>>分页>>一个js文件控制的无刷新翻页(2013-09-13)

一个js文件控制的无刷新翻页

 只要一个js文件就可以控制翻页了,结构非常简单,ajax翻页,传递参数的话可以自己修改,也很简单控制

本例数据库与《jQuery+Ajax+PHP+Mysql实现分页显示数据》相同

一个js文件控制的无刷新翻页
赞赏支持
立刻微信赞赏支持 关闭

 js文件

JavaScript Code
  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.getElementById('result').innerHTML=http_request.responseText;   
  34. }   
  35. else{//页面不正常   
  36. alert("您所请求的页面不正常!");   
  37. }   
  38. }   
  39. }   
  40. function dopage(obj,url){   
  41. document.getElementById(obj).innerHTML="正在读取数据...";   
  42. send_request(url);   
  43. reobj=obj;   
  44. }  

 result.php

 

PHP Code
  1. <div id="result">   
  2. <?php   
  3. $classid=$_REQUEST['classid'];  
  4. //注意有个问题,就是数据如果总数小于每页数据不能显示  
  5.   
  6. $page=isset($_GET['page'])?intval($_GET['page']):1; //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。   
  7. $num=6; //每页显示6条数据   
  8.   
  9. require "../../conn.php";  
  10. mysql_select_db($database_lr$lr);  
  11. /*  
  12. 首先咱们要获取数据库中到底有多少数据,才能判断具体要分多少页,具体的公式就是  
  13. 总数据库除以每页显示的条数,有余进一。  
  14. 也就是说10/3=3.3333=4 有余数就要进一。  
  15. */   
  16.   
  17. $result=mysql_query("select * from content");   
  18. $total=mysql_num_rows($result); //查询所有的数据   
  19.   
  20. $url='result.php';//获取本页URL   
  21.   
  22. //页码计算   
  23. $pagenum=ceil($total/$num); //获得总页数,也是最后一页   
  24. $page=min($pagenum,$page);//获得首页   
  25. $prepg=$page-1;//上一页   
  26. $nextpg=($page==$pagenum ? 0 : $page+1);//下一页   
  27. $offset=($page-1)*$num//获取limit的第一个参数的值,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。   
  28.   
  29. //开始分页导航条代码:   
  30. $pagenav=$page."/".$pagenum." <B> ".($total?($offset+1):0)."</B>-<B>".min($offset+10,$total)."</B>  Total $total  ";   
  31.   
  32. //第一页:   
  33. if($page==1) {  
  34. $pagenav.="First ";   
  35. }  
  36. else  
  37. {$pagenav.="<a href=javascript:dopage('result','$url?classid=$classid&page=1');>First</a> ";}  
  38. if($prepg$pagenav.=" <a href=javascript:dopage('result','$url?classid=$classid&page=$prepg');>Prev</a> "else $pagenav.=" Prev ";   
  39. if($nextpg$pagenav.=" <a href=javascript:dopage('result','$url?classid=$classid&page=$nextpg');>Next</a> "else $pagenav.=" Next ";   
  40. if ($pagenum>$page){  
  41. $pagenav.=" <a href=javascript:dopage('result','$url?classid=$classid&page=$pagenum');>Last</a> ";   
  42. }  
  43. else{  
  44. $pagenav.=" Last";   
  45. }  
  46. $pagenav.=" Total page $pagenum ";   
  47.   
  48. //假如传入的页数参数大于总页数,则显示错误信息   
  49. if($page>$pagenum){   
  50. echo "Error : Can Not Found The page ".$page;   
  51. exit;   
  52. }   
  53.   
  54. $info=mysql_query("select * from content order by id desc limit $offset,$num"); //获取相应页数所需要显示的数据  
  55.   
  56. if ($total>0)  
  57. {   
  58. while($it=mysql_fetch_array($info)){   
  59. echo "<li>".$it['name']." (".$it['updatetime'].")</li>";   
  60. //显示数据   
  61. echo"<br>";   
  62. echo $pagenav;//输出分页导航   
  63. }  
  64. else  
  65. {  
  66. echo"No content.";  
  67. }  
  68. ?>   
  69. </div>   

 


原文地址:http://www.freejs.net/article_fenye_33.html