本文实例讲述了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程序设计有所帮助。