php+ajax实现无刷新分页的方法


Posted in PHP onNovember 04, 2014

本文实例讲述了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调用代码如下:
<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>

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
phpMyAdmin 安装配置方法和问题解决
Jun 08 PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
Aug 14 PHP
php简单浏览目录内容的实现代码
Jun 07 PHP
PHP迭代器的内部执行过程详解
Nov 12 PHP
php-fpm配置详解
Feb 12 PHP
PHP中each与list用法分析
Jan 08 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
Jan 11 PHP
php封装的page分页类完整实例
Oct 18 PHP
PHP中的日期时间处理利器实例(Carbon)
Jun 09 PHP
PHP上传文件及图片到七牛的方法
Jul 25 PHP
PHP获取访问设备信息的方法示例
Feb 20 PHP
PHP实现获取文件mime类型多种方法解析
May 28 PHP
CI框架安全类Security.php源码分析
Nov 04 #PHP
CI框架Session.php源码分析
Nov 03 #PHP
PHP has encountered a Stack overflow问题解决方法
Nov 03 #PHP
完美实现wordpress禁止文章修订和自动保存的方法
Nov 03 #PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
Nov 03 #PHP
PHP防止注入攻击实例分析
Nov 03 #PHP
自编函数解决pathinfo()函数处理中文问题
Nov 03 #PHP
You might like
跟我学Laravel之快速入门
2014/10/15 PHP
TP3.2.3框架文件上传操作实例详解
2020/01/23 PHP
js跟随滚动条滚动浮动代码
2009/12/31 Javascript
写给想学习Javascript的朋友一点学习经验小结
2010/11/23 Javascript
javascript实现促销倒计时+fixed固定在底部
2013/09/18 Javascript
Javascript冒泡排序算法详解
2014/12/03 Javascript
node.js中的require使用详解
2014/12/15 Javascript
js的flv视频播放器插件使用方法
2015/06/23 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
JS前向后瞻正则表达式定义与用法示例
2016/12/27 Javascript
详解angular笔记路由之angular-router
2017/09/12 Javascript
解决vue页面刷新或者后退参数丢失的问题
2018/03/13 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
nodejs的安装使用与npm的介绍
2019/09/11 NodeJs
vue实现评论列表功能
2019/10/25 Javascript
JavaScript TAB栏切换效果的示例
2020/11/05 Javascript
JavaScript仿京东轮播图效果
2021/02/25 Javascript
写了个监控nginx进程的Python脚本
2012/05/10 Python
python中的sort方法使用详解
2014/07/25 Python
Python写的Socks5协议代理服务器
2014/08/06 Python
Python引用模块和查找模块路径
2016/03/17 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
Python通过属性手段实现只允许调用一次的示例讲解
2018/04/21 Python
用Python实现读写锁的示例代码
2018/11/05 Python
django认证系统实现自定义权限管理的方法
2019/08/28 Python
python实现图片二值化及灰度处理方式
2019/12/07 Python
python新式类和经典类的区别实例分析
2020/03/23 Python
Vs Code中8个好用的python 扩展插件
2020/10/12 Python
基于python实现百度语音识别和图灵对话
2020/11/02 Python
俄罗斯美容和健康网上商店:Созвездие Красоты
2019/07/23 全球购物
WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回?
2012/02/21 面试题
计算机大学生的自我评价
2013/10/15 职场文书
即兴演讲稿
2014/01/04 职场文书
2015年治庸问责工作总结
2015/07/27 职场文书
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android
Python实现Hash算法
2022/03/18 Python