本文实例讲述了php+ajax实现无刷新分页的方法。分享给大家供大家参考。具体实现方法如下:
这是一款基于原生态的php +js +ajax 的分页程序实例,我们详细的从数据库创建到js,php,html页面的创建来告诉你如何实现ajax分页调用数据的方法。
具体步骤如下:
一、创建数据库
S
2本文来源gao!daima.com搞$代!码网
搞代gaodaima码QL语句如下:
CREATE TABLE `tb_user` (<br /> `id` int(10) NOT NULL auto_increment,<br /> `username` varchar(50) NOT NULL,<br /> PRIMARY KEY (`id`)<br />) 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;<br /> function send_request(url){//初始化,指定处理函数,发送请求的函数<br /> http_request=false;<br /> //开始初始化XMLHttpRequest对象<br /> if(window.XMLHttpRequest){//Mozilla浏览器<br /> http_request=new XMLHttpRequest();<br /> if(http_request.overrideMimeType){//设置MIME类别<br /> http_request.overrideMimeType("text/xml");<br /> }<br /> }<br /> else if(window.ActiveXObject){//IE浏览器<br /> try{<br /> http_request=new ActiveXObject("Msxml2.XMLHttp");<br /> }catch(e){<br /> try{<br /> http_request=new ActiveXobject("Microsoft.XMLHttp");<br /> }catch(e){}<br /> }<br /> }<br /> if(!http_request){//异常,创建对象实例失败<br /> window.alert("创建XMLHttp对象失败!");<br /> return false;<br /> }<br /> http_request.onreadystatechange=processrequest;<br /> //确定发送请求方式,URL,及是否同步执行下段代码<br /> http_request.open("GET",url,true);<br /> http_request.send(null);<br /> }<br /> //处理返回信息的函数<br /> function processrequest(){<br /> if(http_request.readyState==4){//判断对象状态<br /> if(http_request.status==200){//信息已成功返回,开始处理信息<br /> document.getElementById(reobj).innerHTML=http_request.responseText;<br /> }<br /> else{//页面不正常<br /> alert("您所请求的页面不正常!");<br /> }<br /> }<br /> }<br /> function dopage(obj,url){<br /> document.getElementById(obj).innerHTML="正在读取数据...";<br /> reobj = obj;<br /> send_request(url);<br /> }
三、php调用代码如下:
<title>PHP+ajax分页演示</title><br /><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><br /><script language="javascript" src="ajaxpage.js"></script><br /><div id="result"><br /><?php<br />$terry=mysql_connect("localhost","root","")or die("连接数据库失败:".mysql_error());<br />mysql_select_db("ajaxtest",$terry);<br />mysql_query("set NAMES 'utf8'");<br />$result=mysql_query("select * from tb_user");<br />$total=mysql_num_rows($result) or die(mysql_error());<br />$page=isset($_GET['page'])?intval($_GET['page']):1;<br />$page_size=3;<br />$url='index.php';<br />$pagenum=ceil($total/$page_size);<br />$page=min($pagenum,$page);<br />$prepage=$page-1;<br />$nextpage=($page==$pagenum?0:$page+1);<br />$pageset=($page-1)*$page_size;<br />$pagenav='';<br />$pagenav.="显示第<font color='red'>".($total?($pageset+1):0)."-".min($pageset+5,$total)."</font>记录 共<b><font color='yellow'>".$total."</font></b>条记录 现在是第 <b><font color='blue'>".$page."</font></b> 页 ";<br />if($page<=1)<br />$pagenav.="首页 ";<br />else<br />$pagenav.="首页 ";<br />if($prepage)<br />$pagenav.=" ";<br />else<br />$pagenav.="下一页 ";<br />if($pagenum)<br />$pagenav.="尾页 ";<br />else<br />$pagenav.="尾页 ";<br />$pagenav.="共".$pagenum."页";<br />if($page>$pagenum){<br /> echo "error:没有此页".$page;<br /> exit();<br />}<br />?><br /><table align="center" border="2" width="300"><br /> <tr bgcolor="#cccccc" align="center"><br /> <td>用户名</td><br /> <td>用户密码</td><br /> </tr><br /><?php<br />$info=mysql_query("select * from tb_user order by id desc limit $pageset,$page_size");<br />while($array=mysql_fetch_array($info)){<br />?><br /> <tr align="center"><br /> <td></td><br /> <td></td><br /> </tr><br /><?php <br />}<br />?><br /></table><br /><?php<br />echo "<p align="center">$pagenav
“;
?>