zoukankan      html  css  js  c++  java
  • 一个js文件控制的无刷新翻页

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

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

     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

  • 相关阅读:
    Centos7永久修改hostname
    centos静态绑定IP地址
    Salesforce 报表开发
    Salesforce 测试类的实践
    Salesforce Aura开发 Component组件开发实践
    Salesforce Aura 开发 Hello World开发实践
    PHP设计模式之工厂模式
    PHP设计模式之单例模式
    PHP截取带有汉字的字符串,将汉字按两个字节计算
    window下安装Apache+PHP
  • 原文地址:https://www.cnblogs.com/zerogo/p/3323667.html
Copyright © 2011-2022 走看看