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 相关文章推荐
PHP4实际应用经验篇(1)
Oct 09 PHP
php+mysql事务rollback&amp;commit示例
Feb 08 PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
Jul 01 PHP
PHP的5个安全措施小结
Jul 17 PHP
PHP Class&amp;Object -- PHP 自排序二叉树的深入解析
Jun 25 PHP
PHP的关于变量和日期处理的一些面试题目整理
Aug 10 PHP
php阿拉伯数字转中文人民币大写
Dec 21 PHP
Yii2实现多域名跨域同步登录退出
Feb 04 PHP
PHP创建单例后台进程的方法示例
May 23 PHP
TP3.2批量上传文件或图片 同名冲突问题的解决方法
Aug 01 PHP
PHP实现的服务器一致性hash分布算法示例
Aug 09 PHP
PHP defined()函数的使用图文详解
Jul 20 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
PHP 和 XML: 使用expat函数(一)
2006/10/09 PHP
php上传图片到指定位置路径保存到数据库的具体实现
2013/12/30 PHP
php获取文件类型和文件信息的方法
2015/07/10 PHP
php递归函数怎么用才有效
2018/02/24 PHP
jquery 插件 人性化的消息显示
2008/01/21 Javascript
IE的有条件注释判定IE版本详解(附实例代码)
2012/01/04 Javascript
情人节之礼 js项链效果
2012/02/13 Javascript
通过js动态操作table(新增,删除相关列信息)
2012/05/23 Javascript
前台js改变Session的值(用ajax实现)
2012/12/28 Javascript
jquery中加载图片自适应大小主要实现代码
2013/08/23 Javascript
js实现内容显示并使用json传输数据
2016/03/16 Javascript
基于vue2的table分页组件实现方法
2017/03/20 Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
2017/07/19 Javascript
vue拦截器实现统一token,并兼容IE9验证功能
2018/04/26 Javascript
详解JSON和JSONP劫持以及解决方法
2019/03/08 Javascript
js实现3D照片墙效果
2019/10/28 Javascript
design vue 表格开启列排序的操作
2020/10/28 Javascript
Python调用C/C++动态链接库的方法详解
2014/07/22 Python
web.py在模板中输出美元符号的方法
2014/08/26 Python
python脚本实现分析dns日志并对受访域名排行
2014/09/18 Python
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
2018/06/26 Python
Python数据分析pandas模块用法实例详解
2019/11/20 Python
pytorch之添加BN的实现
2020/01/06 Python
Python常用编译器原理及特点解析
2020/03/23 Python
JustFab加拿大:女鞋、靴子、手袋和服装在线
2018/05/18 全球购物
北美女性服装零售连锁店:maurices
2019/06/12 全球购物
导师推荐信范文
2014/05/09 职场文书
2014年法制宣传日活动方案
2014/11/02 职场文书
英语通知范文
2015/04/22 职场文书
婚礼双方父亲致辞
2015/07/27 职场文书
2016新党章学习心得体会
2016/01/15 职场文书
2019森林防火宣传标语大全!
2019/07/03 职场文书
解决Golang中ResponseWriter的一个坑
2021/04/27 Golang
Python批量将csv文件转化成xml文件的实例
2021/05/10 Python
Python Django框架介绍之模板标签及模板的继承
2021/05/27 Python