当前位置:首页 > PHP教程 > php分页 > 列表

php ajax分页代码

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-15 15:42:19 浏览: 评论:0 

提供一款完美的php ajax分页程序,如果你正在愁这个就进来看看吧,好了费话不说多喜欢ajax朋友来吧,代码如下:

  1. <?php 
  2. header("content-type: text/html;charset=gbk");//输出编码,避免中文乱码 
  3. ?> 
  4. <html> 
  5. <head> 
  6. <title>ajax分页演示</title> 
  7. <script language="javascript" > 
  8. var http_request=false; 
  9.   function send_request(url){//初始化,指定处理函数,发送请求的函数 
  10.     http_request=false; 
  11.  //开始初始化xmlhttprequest对象 
  12.  if(window.xmlhttprequest){//mozilla浏览器//开源代码phpfensi.com 
  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.onreadystatechange=processrequest; 
  32.  //确定发送请求方式,url,及是否同步执行下段代码 
  33.     http_request.open("get",url,true); 
  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(reobj).innerhtml=http_request.responsetext; 
  41.   } 
  42.   else{//页面不正常 
  43.    alert("您所请求的页面不正常!"); 
  44.   } 
  45.    } 
  46.   } 
  47.   function dopage(obj,url){ 
  48.    document.getelementbyid(obj).innerhtml="<font color='green' font-size='12'>正在读取数据...</font>"
  49.    send_request(url); 
  50.    reobj=obj; 
  51.    } 
  52.  
  53. </script> 
  54. <style> 
  55. /* css document */ 
  56. #result ul li{ 
  57.  height:20px; 
  58.  width:auto; 
  59.  display:block; 
  60.  color:#999; 
  61.  border:1px solid #999; 
  62.  float:left; 
  63.  list-style:none; 
  64.  font-size:12px; 
  65.  margin-left:5px; 
  66.  line-height:20px; 
  67.  vertical-align:middle; 
  68.  text-align:center; 
  69.  } 
  70. #result ul li a:link{ 
  71.  width:50px; 
  72.  height:20px; 
  73.  display:block; 
  74.  
  75.  line-height:20px; 
  76.  background:#09c; 
  77.  border:1px solid #fff; 
  78.  color:#fff; 
  79.  text-decoration:none; 
  80.  } 
  81. #result ul li a:hover{ 
  82.  width:50px; 
  83.  height:20px; 
  84.  display:block; 
  85.  
  86.  line-height:20px; 
  87.  background:#09c; 
  88.  border:1px solid #fff; 
  89.  color:#f60; 
  90.  text-decoration:none; 
  91.  } 
  92. </style> 
  93. </head> 
  94. <body> 
  95. <div id="result"
  96. <?php 
  97. $page=isset($_get['page'])?intval($_get['page']):1;        //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。 
  98. $num=10;                                      //每页显示10条数据 
  99.  
  100. $db=mysql_connect("localhost","root","");           //创建数据库教程连接 
  101. mysql_select_db("test");                 //选择要操作的数据库 
  102.  
  103. /* 
  104. 首先咱们要获取数据库中到底有多少数据,才能判断具体要分多少页,具体的公式就是 
  105. 总数据库除以每页显示的条数,有余进一。 
  106. 也就是说10/3=3.3333=4 有余数就要进一。 
  107. */ 
  108.  
  109. $result=mysql_query("select * from users"); 
  110. $total=mysql_num_rows($result); //查询所有的数据 
  111.  
  112. $url='test1.php';//获取本页url 
  113.  
  114. //页码计算 
  115. $pagenum=ceil($total/$num);                                    //获得总页数,也是最后一页 
  116. $page=min($pagenum,$page);//获得首页 
  117. $prepg=$page-1;//上一页 
  118. $nextpg=($page==$pagenum ? 0 : $page+1);//下一页 
  119. $offset=($page-1)*$num;                                        //获取limit的第一个参数的值,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。 
  120. $pagenav="<ul>"
  121.  
  122. //开始分页导航条代码: 
  123. $pagenav.="<li>显示第 <b>".($total?($offset+1):0)."</b>-<b>".min($offset+10,$total)."</b> 条记录</li><li>共 $total 条记录&nbsp;</li>"
  124.  
  125. //如果只有一页则跳出函数: 
  126. if($pagenum<=1) return false; 
  127.  
  128. $pagenav.="<li> <a href=javascript:dopage('result','$url?page=1');>首页</a></li> "
  129. if($prepg$pagenav.="<li> <a href=javascript:dopage('result','$url?page=$prepg');>前页</a></li> "else $pagenav.=" <li>前页</li> "
  130. if($nextpg$pagenav.="<li><a href=javascript:dopage('result','$url?page=$nextpg');>后页</a> </li>"else $pagenav.=" <li>后页</li> "
  131. $pagenav.="<li> <a href=javascript:dopage('result','$url?page=$pagenum');>尾页</a></li> "
  132. $pagenav.="<li>第 $page 页</li><li>共 $pagenum 页</li></ul>"
  133.  
  134. //假如传入的页数参数大于总页数,则显示错误信息 
  135. if($page>$pagenum){ 
  136.        echo "error : can not found the page ".$page
  137.        exit
  138.  
  139. $info=mysql_query("select * from users limit $offset,$num");   //获取相应页数所需要显示的数据 
  140. while($it=mysql_fetch_array($info)){ 
  141.        echo $it['u_name']; 
  142.     echo "<br>"
  143. }                                                              //显示数据 
  144.   echo"<br>"
  145.   echo $pagenav;//输出分页导航 
  146.  
  147. ?> 
  148. </div> 
  149. </body> 
  150. </html> 

Tags: php ajax分页代码

分享到: