先写一个php文件
<?php
/*
几个关键的变量 当前页 总页数 每页大小
*/
include "../include/dbConn.php";
//定义当前页
if(isset($_GET['np'])){
$nowpage=$_GET['np'];
}else{
$nowpage=1;
}
//得到总的记录数
$rs=mysql_query("select count(*) from area");
$rownum=mysql_result($rs,0);
//总页数=上取整(总记录数/每页大小)
$pages=ceil($rownum/$F_PAGESIZE);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ajax+js+dom+php+mysql实现仿百度、goole的超强分页</title>
<script language="javascript" type="text/javascript" src="ajaxUtil.js"></script>
<style>
#tab{
margin:auto auto;
background-color:#C9C;
border-collapse:collapse;
}
#content{
height:500px;
width:700px;
background-color:#FC6;
border:dashed #06C 1px;
}
#pagenum{
text-align:center;
height:20px;
width:700px;
background-color:#CCC;
border:dashed #06C 1px;
}
</style>
<script>
//定义全局
var nowpage=1;
//定义开始页
var startpage=1;
//定义结束页
var endpage=<?php echo $pages;?>;
//定义一个总页数
var page=<?php echo $pages;?>;
/* 显示页码部分开始*/
//初始化页码
//alert("$$$$");
function initpages(){
/*
1.定义当前页 解决在javascript中使用php中定义的变量
3.定义结束页(最终页)
2.定义开始页
*/
//当总页数大于11的时候,设定起始页码和结束页码
if(page>11){
//设定起始页码
if(nowpage-10>0){
//如果当前页-10>0则设置起始页=当前页-10,否则不设置startpage=1
startpage=nowpage-10;
}
//设置结束页
if(nowpage+9<page){
//如果说当前页+9<总页数,则设定结束页为当前页数+9 否则设定结束页=总页数
endpage=nowpage+9;
}else{
//结束页=总页数
endpage=page;
}
}
var pagenumstr="";
//判断什么时候显示上一页
if(nowpage!=1){
pagenumstr+=" <a href='javascript:getPageDate("+(nowpage-1)+")'>上一页</a>";
}
//for循环读出页码
for(var i=startpage;i<=endpage;i++){
//判断是否为当前页。如果为当前页,让该页码加粗
if(nowpage==i){
//如果是当前页则加粗显示
pagenumstr+=" <b>"+i+"</b>";
}else{
pagenumstr+=" <a href='javascript:getPageDate("+i+")'>"+i+"</a>";
}
}
//判断显示下一页
if(nowpage<page){
pagenumstr+=" <a href='javascript:getPageDate("+(nowpage+1)+")'> 下一页</a>";
}
$$("pagenum").innerHTML=pagenumstr;
}
/* 显示页码部分结束*/
/* 显示页面正文内容开始*/
function getPageDate(np){
var url="paging-server.php";
var params="np="+np;
//进行ajax请求
get(url,params,processPageDate);
}
/* 显示页面正文结束*/
/* 显示页码表格的隔行变色的开始*/
function processPageDate(xhr){
//将json的格式转化为字符串
var obj=eval("("+xhr.responseText+")");
//将当前页重新赋值,注意服务器端返回的字符串
nowpage=parseInt(obj.np);
initpages();
//获取查询结果
var rows=obj.pageDatas;
var pagestr="<table>";
pagestr+="<tr><th>编号</th><th>名称</th><th>区号</th></tr>";
for(var i=0;i<rows.length;i++){
pagestr+="<tr><td>"+rows[i].id+"</td><td>"+rows[i].name+"</td><td>"+rows[i].code+"</td></tr>";
}
pagestr+="</table>";
//将表格显示到div中
$$("content").innerHTML=pagestr;
}
/* 显示页码表格的隔行变色的结束*/
/*自己*/
</script>
</head>
<body οnlοad="getPageDate(1)">
<table width="" border="0" id="tab">
<caption>表格分页</caption>
<tr>
<td>
<div id="content">
</div>
</td>
</tr>
<tr>
<td colspan="4">
<div id="pagenum">
</div>
</td>
</tr>
</table>
</body>
</html>
然后再写一个文件辅助
<?php
header("Content-Type:text/html;charset=UTF-8");
include "../include/dbConn.php";
//接收客户端传递过来的数据
$np=$_GET['np'];
//定义sql
$sql="select id,name,code from area limit ".
($np-1)*$F_PAGESIZE.",".$F_PAGESIZE;
$rs=mysql_query($sql);
$arr2=array();
//遍历读取每一行数据
while($rows=mysql_fetch_assoc($rs)){
$arr[]=$rows;
}
$arr2=array("np"=>$np,"pageDatas"=>
$arr);
//将数组转换成json格式的字符串
echo json_encode($arr2);
?>
要确定与数据库连接,还有文件路径要弄对