利用html5 Api 实现分页
//htmlapi.php
<?php
//header("content-type:text/html;charset=utf-8");
$dsn='mysql:host=127.0.0.1;dbname=edusoho';
$db=newPDO($dsn,'root','root');
$page=isset($_GET['p'])?$_GET['p']:'1';
$pagesize='10';
$limit=($page-1)*$pagesize;
$sql='selectcount(*)asnumfromcourse_lesson_text';
$rs=$db->query($sql);
$ar=$rs->fetch();
$count=$ar['num'];
$pagecount=ceil($count/$pagesize);
$sql="selectid,titlefromcourse_lesson_textlimit$limit,$pagesize";
$rs=$db->query($sql);
$arr=$rs->fetchAll();
$next=$page+1>$pagecount?$pagecount:$page+1;
$up=$page-1<1?1:$page-1;
$pagea="<aclass='pa'href='?p=1'>首页</a><aclass='pa'href='?p=$up'>上一页</a><aclass='pa'href='?p=$next'>下一页</a><aclass='pa'href='?p=$pagecount'>尾页</a>";
$exit['arr']=$arr;
$exit['page']=$pagea;
exit(json_encode($exit));
?>
//index.php
<?php
header("content-type:text/html;charset=utf-8");
$dsn='mysql:host=127.0.0.1;dbname=edusoho';
$db=newPDO($dsn,'root','root');
$page=isset($_GET['p'])?$_GET['p']:'1';
//$page=1;
$pagesize='10';
$limit=($page-1)*$pagesize;
$sql='selectcount(*)asnumfromcourse_lesson_text';
$rs=$db->query($sql);
$ar=$rs->fetch();
$count=$ar['num'];
$pagecount=ceil($count/$pagesize);
$sql="selectid,titlefromcourse_lesson_textlimit$limit,$pagesize";
$rs=$db->query($sql);
$arr=$rs->fetchAll();
?>
<metacharset='utf-8'/>
<ulclass="list">
<?phpforeach($arras$key=>$value){
?>
<li><?phpecho$value['title']?></li>
<?php
}?>
</ul>
<?php
$next=$page+1>$pagecount?$pagecount:$page+1;
$up=$page-1<1?1:$page-1;
?>
<divid="pagea">
<aclass='pa'href="?p=1">首页</a>
<aclass='pa'href="?p=<?phpecho$up?>">上一页</a>
<aclass='pa'href="?p=<?phpecho$next?>">下一页</a>
<?php
/*for($i=1;$i<$pagecount;$i++){
echo"<aclass='pa'href='?p=$i'>$i</a>";
}*/
?>
<aclass='pa'href="?p=<?phpecho$pagecount?>">尾页</a>
</div>
<scriptsrc='./jquery-1.8.0.js'></script>
<script>
$(function(){
varajax,
currentState;
$(".pa").live("click",function(e){
e.preventDefault();
vartarget=e.target,
url=$(target).attr("href");
!$(this).hasClass("current")&&$(this).addClass("current").siblings().removeClass("current");
if(ajax==undefined){
currentState={
url:document.location.href,
title:document.title,
html:$(".list").html()
};
}
ajax=$.ajax({
type:"get",
url:'htmlapi.php'+url,
dataType:"json",
success:function(data){
varhtml="";
if(data['arr'].length>0){
$.each(data['arr'],function(k,v){
html+="<li>"+v.title+"</li>"
})
$(".list").html(html);
}
varstate={
url:url,
title:document.title,
html:$(".list").html()
};
$("#pagea").html(data['page']);
history.pushState(state,null,url);
}
});
});
window.addEventListener("popstate",function(event){
if(ajax==null){
return;
}elseif(event&&event.state){
document.title=event.state.title;
$(".list").html(event.state.html);
}else{
document.title=currentState.title;
$(".list").html(currentState.html);
}
});
});
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。