php+ajax无刷新分页实例详解
这篇文章主要介绍了php+ajax无刷新分页的方法,结合实例形式较为详细的分析了php数据查询结合ajax数据交互实现无刷新分页效果的相关技巧,需要的朋友可以参考下。
本文实例讲述了php+ajax无刷新分页实现方法,分享给大家供大家参考,具体如下:
ajax_page_show_userinfo.php页面如下:
- <meta 'Content:text/html;charset=utf-8'></meta>
- <title>ajax分页演示</title>
- <script language="javascript" src="js/ajaxpage.js"></script>
- <div >
- <?php
- $db=mysql_connect("localhost","root","123456");
- mysql_select_db("register");
- mysql_query("set names 'utf-8'");
- $result=mysql_query("select * from user");
- $total=mysql_num_rows($result) or die(mysql_error());
- $page=isset($_GET['page'])?intval($_GET['page']):1;
- $page_size=5;
- $url='ajax_page_show_userinfo.php';
- $pagenum=ceil($total/$page_size);
- $page=min($pagenum,$page);
- $prepage=$page-1;
- $nextpage=($page==$pagenum?0:$page+1);
- $pageset=($page-1)*$page_size;
- $pagenav.="显示第".($total?($pageset+1):0)."-".min($pageset+5,$total)."记录 共<b>".$total."</b>条记录 现在是第 <b>".$page."</b> 页 ";
- if($page<=1)
- $pagenav.="<a ;
- else
- $pagenav.="<a onclick=javascript:dopage('result','$url?page=1') ;
- if($prepage)
- $pagenav.="<a onclick=javascript:dopage('result','$url?page=$prepage') ;
- else
- $pagenav.="<a ;
- if($nextpage)
- $pagenav.="<a onclick=javascript:dopage('result','$url?page=$nextpage') ;
- else
- $pagenav.="<a ;
- if($pagenum)
- $pagenav.="<a onclick=javascript:dopage('result','$url?page=$pagenum') ;
- else
- $pagenav.="<a ;
- $pagenav.="共".$pagenum."页";
- if($page>$pagenum){
- echo "error:没有此页".$page;
- exit();
- }
- ?>
- <table align="center" width="300">
- <tr bgcolor="#cccccc" align="center">
- <td>用户名</td>
- <td>用户密码</td>
- </tr>
- <?php
- $info=mysql_query("select * from user limit $pageset,$page_size");
- while($array=mysql_fetch_array($info)){
- ?>
- <tr align="center">
- <td><?php echo $array['username'];?></td>
- <td><?php echo $array['password'];?></td>
- </tr>
- <?php
- }
- ?>
- </table>
- <?php
- echo "<p align=center>$pagenav</p>";
- ?>
- </div>
js文件下的ajaxpage.js:
- var http_request=false;
- function send_request(url){//初始化,指定处理函数,发送请求的函数
- http_request=false;
- //开始初始化XMLHttpRequest对象
- if(window.XMLHttpRequest){//Mozilla浏览器
- http_request=new XMLHttpRequest();
- if(http_request.overrideMimeType){//设置MIME类别
- http_request.overrideMimeType("text/xml");
- }
- }
- else if(window.ActiveXObject){//IE浏览器
- try{
- http_request=new ActiveXObject("Msxml2.XMLHttp");
- }catch(e){
- try{
- http_request=new ActiveXobject("Microsoft.XMLHttp");
- }catch(e){}
- }
- }
- if(!http_request){//异常,创建对象实例失败
- window.alert("创建XMLHttp对象失败!");
- return false;
- }
- http_request.onreadystatechange=processrequest;
- //确定发送请求方式,URL,及是否同步执行下段代码
- http_request.open("GET",url,true);
- http_request.send(null);
- }
- //处理返回信息的函数
- function processrequest(){
- if(http_request.readyState==4){//判断对象状态
- if(http_request.status==200){//信息已成功返回,开始处理信息
- document.getElementByIdx(reobj).innerHTML=http_request.responseText;
- }
- else{//页面不正常
- alert("您所请求的页面不正常!");
- }
- }
- }
- function dopage(obj,url){
- //document.getElementByIdx(obj).innerHTML="正在读取数据...";
- send_request(url);
- reobj=obj;
- }
希望本文所述对大家PHP程序设计有所帮助。