这篇文章主要介绍了php+ajax实现无刷新分页的方法,详细讲述了数据库的创建、ajax文件的实现及php调用方法,需要的朋友可以参考下
本文实例讲述了php+ajax实现无刷新分页的方法。分享给大家供大家参考。具体实现方法如下:
这是一款基于原生态的php +js +ajax 的分页程序实例,我们详细的从数据库创建到js,php,html页面的创建来告诉你如何实现ajax分页调用数据的方法。
具体步骤如下:
一、创建数据库
sql语句如下:
复制代码 代码如下:
create table `tb_user` (
`id` int(10) not null auto_increment,
`username` varchar(50) not null,
primary key (`id`)
) engine=myisam default charset=utf8 auto_increment=10 ;
insert into `tb_user` values (1, 'aaa');
insert into `tb_user` values (2, 'bbb');
insert into `tb_user` values (3, 'ccc');
insert into `tb_user` values (4, 'ddd');
insert into `tb_user` values (5, 'eee');
insert into `tb_user` values (6, 'fff');
insert into `tb_user` values (7, 'ggg');
insert into `tb_user` values (8, 'hhh');
insert into `tb_user` values (9, '����');
二、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.getelementbyid(reobj).innerhtml=http_request.responsetext;
}
else{//页面不正常
alert(您所请求的页面不正常!);
}
}
}
function dopage(obj,url){
document.getelementbyid(obj).innerhtml=正在读取数据...;
reobj = obj;
send_request(url);
}
三、php调用代码如下:
复制代码 代码如下:
php+ajax分页演示
$terry=mysql_connect(localhost,root,)or die(连接数据库失败:.mysql_error());
mysql_select_db(ajaxtest,$terry);
mysql_query(set names 'utf8');
$result=mysql_query(select * from tb_user);
$total=mysql_num_rows($result) or die(mysql_error());
$page=isset($_get['page'])?intval($_get['page']):1;
$page_size=3;
$url='index.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='';
$pagenav.=显示第.($total?($pageset+1):0).-.min($pageset+5,$total).记录 共.$total.条记录 现在是第 .$page. 页 ;
if($page$pagenav.=首页 ;
else
$pagenav.=首页 ;
if($prepage)
$pagenav.=上一页 ;
else
$pagenav.=上一页 ;
if($nextpage)
$pagenav.=下一页 ;
else
$pagenav.=下一页 ;
if($pagenum)
$pagenav.=尾页 ;
else
$pagenav.=尾页 ;
$pagenav.=共.$pagenum.页;
if($page>$pagenum){
echo error:没有此页.$page;
exit();
}
?>
用户名
用户密码
$info=mysql_query(select * from tb_user order by id desc limit $pageset,$page_size);
while($array=mysql_fetch_array($info)){
?>
}
?>
echo $pagenav
;
?>
希望本文所述对大家的php程序设计有所帮助。