本文实例讲述了php+ajax无刷新分页实现方法。分享给大家供大家参考,具体如下:
ajax_page_show_userinfo.php页面如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
<meta 'Content:text/html;charset=utf-8' ></meta> <title>ajax分页演示</title> <script language= "javascript" src= "js/ajaxpage.js" ></script> <div id= "result" > <?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 style=cursor:not-allowed;>首页</a> " ; else $pagenav .= "<a onclick=javascript:dopage('result','$url?page=1') style=cursor:pointer;>首页</a> " ; if ( $prepage ) $pagenav .= "<a onclick=javascript:dopage('result','$url?page=$prepage') style=cursor:pointer;>上一页</a> " ; else $pagenav .= "<a style=cursor:not-allowed;>上一页</a> " ; if ( $nextpage ) $pagenav .= "<a onclick=javascript:dopage('result','$url?page=$nextpage') style=cursor:pointer;>下一页</a> " ; else $pagenav .= "<a style=cursor:not-allowed;>下一页</a> " ; if ( $pagenum ) $pagenav .= "<a onclick=javascript:dopage('result','$url?page=$pagenum') style=cursor:pointer;>尾页</a> " ; else $pagenav .= "<a style=cursor:not-allowed;>尾页</a> " ; $pagenav .= "共" . $pagenum . "页" ; if ( $page > $pagenum ){ echo "error:没有此页" . $page ; exit (); } ?> <table align= "center" border= "2" 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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
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程序设计有所帮助。