ajax分页代码,ajax实现无刷新数据分页例子

作者: 金沙澳门官网  发布:2019-09-26

index.php 文件如下图所示

<?php
header("Content-type: text/html;charset=GBK");//输出编码,防止中文乱码
?>
<html>
<head>
<title>ajax分页演示</title>
<script language="javascript" src="ajaxpg.js"></script>
</head>
<body>
<div id="result">
<?php
$page=isset($_GET['page'])?intval($_GET['page']):1;        //那句正是获得page=1第88中学的page的值,就算空头支票page,那么页数正是1。
$num=10;                                      //每页显示10条数据

 代码如下

$db=mysql_connect("localhost","root","7529639");           //创造数据库连接
mysql_select_db("cr_download");                 //选用要操作的数据库

<?php
header("Content-type: text/html;charset=GBK");//输出编码,幸免中文乱码
?>
<html>
<head>
<title>ajax分页演示</title>
<script language="javascript" src="ajaxpg.js"></script>
<link rel="stylesheet" type="text/css" href="page.css">
</head>
<body>
<div id="result">
<?php
$page=isset($_GET['page'])?intval($_GET['page']):1;  //那句正是收获page=1第88中学的page的值,假设空头支票page,那么页数正是1。
$num=3;  //每页呈现10条数据

/*
率先大家要拿走数据库中到底某个许数量,本事剖断具体要分多少页,具体的公式正是
总和据库除以每页呈现的条数,有余进一。
也正是说10/3=3.3333=4 有余数将在进一。
*/

$db=mysql_connect("localhost","root","123456");  //创建数据库连接
mysql_select_db("demo",$db) or die("数据库链接错误");  //采取要操作的数据库
mysql_query("set names gbk");
/*
第一我们要赢得数据库中到底有多少多少,本事判别具体要分多少页,具体的公式便是
总和据库除以每页显示的条数,有余进一。
也正是说10/3=3.3333=4 有余数就要进一。
*/

$result=mysql_query("select * from cr_userinfo");
$total=mysql_num_rows($result); //查询全数的数据

$result=mysql_query("select * from brand");
$total=mysql_num_rows($result); //查询全体的数目

$url='test.php';//获取本页UEnclaveL

$url='test.php';//设置ajax提交页面地址的U奥迪Q5L,这里设置成test.php通过ajax把参数字传送递给test.php再把拍卖过的原委赋值到本页的div id=result。

//页码计算
$pagenum=ceil($total/$num);                                    //获得总页数,也是最终一页
$page=min($pagenum,$page);//获得首页
$prepg=$page-1;//上一页
$nextpg=($page==$pagenum ? 0 : $page+1);//下一页
$offset=($page-1)*$num;                                        //获取limit的率先个参数的值,假若第一页则为(1-1)*10=0,第二页为(2-1)*10=10。

//页码计算
$pagenum=ceil($total/$num);//获得总页数,也是终极一页
$page=min($pagenum,$page);//获得首页
$prepg=$page-1;//上一页
$nextpg=($page==$pagenum ? 0 : $page+1);//下一页
$offset=($page-1)*$num; //获取limit的率先个参数的值,要是第一页则为(1-1)*10=0,第二页为(2-1)*10=10。
$pagenav="<ul>";

//早先分页导航条代码:
$pagenav="显示第 <B>".($total?($offset+1):0)."</B>-<B>".min($offset+10,$total)."</B> 条记录,共 $total 条记录 ";

//开始分页导航条代码:
$pagenav.="<li>显示第 <B>".($total?($offset+1):0)."</B>-<B>".min($offset+10,$total)."</B> 条记录</li><li>共 $total 条记录 </li>";

//假设独有一页则跳出函数:
if($pagenum<=1) return false;

//假诺唯有一页则跳出函数:
if($pagenum<=1) return false;

$pagenav.=" <a href=javascript:dopage('result','$url?page=1');>首页</a> ";
if($prepg) $pagenav.=" <a href=javascript:dopage('result','$url?page=$prepg');>前页</a> "; else $pagenav.=" 前页 ";
if($nextpg) $pagenav.=" <a href=javascript:dopage('result','$url?page=$nextpg');>后页</a> "; else $pagenav.=" 后页 ";
$pagenav.=" <a href=javascript:dopage('result','$url?page=$pagenum');>尾页</a> ";
$pagenav.="</select> 页,共 $pagenum 页";

$pagenav.="<li> <a href=javascript:dopage('result','$url?page=1');>首页</a></li> ";
if($prepg) $pagenav.="<li> <a href=javascript:dopage('result','$url?page=$prepg');>前页</a></li> "; else $pagenav.=" <li>前页</li> ";
if($nextpg) $pagenav.="<li><a href=javascript:dopage('result','$url?page=$nextpg');>后页</a> </li>"; else $pagenav.=" <li>后页</li> ";
$pagenav.="<li> <a href=javascript:dopage('result','$url?page=$pagenum');>尾页</a></li> ";
$pagenav.="<li>第 $page 页</li><li>共 $pagenum 页</li></ul>";

//要是传入的页数参数大于总页数,则显得错误消息
If($page>$pagenum){
       Echo "Error : Can Not Found The page ".$page;
       Exit;
}

//假若传入的页数参数大于总页数,则显得错误音信
If($page>$pagenum){
 Echo "Error : Can Not Found The page ".$page;
 Exit;
}
?></div><div id="results">
<?php
  echo $pagenav;//输出分页导航
?>
</div>
</body>
</html>

$info=mysql_query("select * from cr_userinfo limit $offset,$num");   //获取相应页数所供给体现的数码
While($it=mysql_fetch_array($info)){
       Echo $it['username'];
       echo "<br>";
}                                                              //展现数据
  echo"<br>";
  echo $pagenav;//输出分页导航

css代码

?>
</div>
</body>
</html>

/* CSS Document */
/* CSS Document */
#result ul li{
height:20px;
width:auto;
display:block;
color:#999;
border:1px solid #999;
float:left;
list-style:none;
font-size:12px;
margin-left:5px;
line-height:20px;
vertical-align:middle;
text-align:center;
}
#result ul li a:link{
width:50px;
height:20px;
display:block;

line-height:20px;
background:#09C;
border:1px solid #fff;
color:#fff;
text-decoration:none;
}
#result ul li a:hover{
width:50px;
height:20px;
display:block;

line-height:20px;
background:#09C;
border:1px solid #fff;
color:#F60;
text-decoration:none;
}

ajaxpg.js文件如下

// JavaScript Document
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;
//鲜明发送诉求情势,ULX570L,及是还是不是同步实施下段代码
 http_request.open("GET",url,true);
http_request.send(null);
  }
  //处理回来消息的函数
  function processrequest(){
if(http_request.readyState==4){//决断指标情形
  if(http_request.status==200){//消息已成功再次回到,起先拍卖音信
 document.getElementById("results").style.display="none";
 document.getElementById(reobj).innerHTML=http_request.responseText;
}
else{//页面不日常
 alert("您所央求的页面不寻常!");
}
}
  }
  function dopage(obj,url){
document.getElementById(obj).innerHTML="<font color='green' font-size='12'>正在读取数据...</font>";
send_request(url);
reobj=obj;
}  

数据库文件如下

-- phpMyAdmin SQL Dump

-- version 2.8.1

-- 主机: localhost
-- 生成日期: 2009 年 01 月 22 日 14:41
-- 服务器版本: 5.0.22

-- PHP 版本: 5.2.12

-- 数据库: `demo`


--

-- 表的布局 `brand`

CREATE TABLE `brand` (
  `id` int(7) NOT NULL auto_increment,
  `sp_brand` varchar(255) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=19 ;

--

-- 导出表中的数据 `brand`

INSERT INTO `brand` (`id`, `sp_brand`) VALUES (1, 'hello world'),
(2, '你好'),
(3, '恩'),
(4, 'fdsafdsafdsa'),
(5, 'fdsafdafdsafdas'),
(6, 'fdsafdsa'),
(7, 'fdsafdsafdas'),
(8, '恩'),
(9, '恩'),
(10, '恩'),
(11, '恩11'),
(12, '恩'),
(13, '恩'),
(14, '恩'),
(15, '恩'),
(16, '恩'),
(17, '恩'),
(18, '恩18');

上边介绍那么些文件的机能

ajaxpg.js:ajax无刷新焦点文件,一般不要去作修改。

index.php:实现ajax无刷新的文本了,这里调用了ajaxpg.js文件,配置了mysql客户密码,要和友好当地的一律,以及显示分页的遵循。

page.css:那是分页的CSS样式文件,用来夸口的,就相当少介绍了。

brand.sql:那是MYSQL数据库的文件了,进行导入到MYSQL数据库中,同样,借使不会导入,能够参照PHPfensi.com中怎么着导入.sql小说就能够。

本文由金沙澳门官网送注册58发布于金沙澳门官网,转载请注明出处:ajax分页代码,ajax实现无刷新数据分页例子

关键词: