-
php ajax分页实现程序代码分享
一款基于原生态的php +js +ajax 的分页程序实例,我们详细的从数据库创建到js,php,html页面的创建来告诉你如何实现ajax分页调用数据的方法.
创建数据库代码如下:
- 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, 'eee');
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调用代码如下:
- <title>PHP+ajax分页演示</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
- <script language="javascript" src="ajaxpage.js"></script>
- <div id="result">
- <?php
- $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.="显示第<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> 页 ";
- if($page<=1)
- $pagenav.="<a style=cursor:not-allowed;>首页</a> ";
- else
- $pagenav.="<a onclick=javascript:dopage('result','$url?page=1') style=cursor:pointer;>首页</a> ";
- if($prepage)
- $pagenav.="<a onclick=javascript:dopage('result','$url?page=$prepage') style=cursor:pointer;>上一页</a> ";
- else
- $pagenav.="<a style=cursor:not-allowed;>上一页</a> ";
- if($nextpage)
- $pagenav.="<a onclick=javascript:dopage('result','$url?page=$nextpage') style=cursor:pointer;>下一页</a> ";
- else
- $pagenav.="<a style=cursor:not-allowed;>下一页</a> ";
- if($pagenum)
- $pagenav.="<a onclick=javascript:dopage('result','$url?page=$pagenum') style=cursor:pointer;>尾页</a> ";
- else
- $pagenav.="<a style=cursor:not-allowed;>尾页</a> ";
- $pagenav.="共".$pagenum."页";
- if($page>$pagenum){
- echo "error:没有此页".$page;
- exit();
- }
- ?>
- <table align="center" border="2" width="300">
- <tr bgcolor="#cccccc" align="center">
- <td>用户名</td>
- <td>用户密码</td>
- </tr>
- <?php
- $info=mysql_query("select * from tb_user order by id desc limit $pageset,$page_size");
- while($array=mysql_fetch_array($info)){
- ?>
- <tr align="center">
- <td><?php echo $array['id'];?></td>
- <td><?php echo $array['username'];?></td>
- </tr>
- <?php
- }
- ?>
- </table>
- <?php
- echo "<p align=center>$pagenav</p>";
- ?>
- </div>
大家使用时将上面的代码保存成单个文件就可以实现了.
出处:http://www.phpfensi.com/php/20140731/4086.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式