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 相关文章推荐
IIS+PHP+MySQL+Zend配置 (视频教程)
Dec 13 PHP
php htmlentities和htmlspecialchars 的区别
Aug 18 PHP
php下清空字符串中的HTML标签的代码
Sep 06 PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
Nov 20 PHP
typecho插件编写教程(六):调用接口
May 28 PHP
Zend Framework教程之模型Model基本规则和使用方法
Mar 04 PHP
php之可变变量的实例详解
Sep 12 PHP
PHP PDOStatement::debugDumpParams讲解
Jan 30 PHP
Yii框架实现对数据库的CURD操作示例
Sep 03 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
Jan 23 PHP
PHP设计模式入门之状态模式原理与实现方法分析
Apr 26 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数据类型的总结分析
2013/06/13 PHP
php导出csv文件,可导出前导0实例代码
2016/11/16 PHP
IE JS编程需注意的内存释放问题
2009/06/23 Javascript
用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
2010/06/19 Javascript
JavaScript之编码规范 推荐
2012/05/23 Javascript
JS解决url传值出现中文乱码的另类办法
2013/04/08 Javascript
动态标签 悬停效果 延迟加载示例代码
2013/11/21 Javascript
JavaScript中的比较操作符&gt;、=、
2014/12/31 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
js实现的万能flv网页播放器代码
2016/04/30 Javascript
基于zepto.js简单实现上传图片
2016/06/21 Javascript
全面了解JavaScript的数据类型转换
2016/07/01 Javascript
nodejs简单实现操作arduino
2016/09/25 NodeJs
jquery控制页面的展开和隐藏实现方法(推荐)
2016/10/15 Javascript
JavaScript定义函数的三种实现方法
2017/09/23 Javascript
解决layui 复选框等内置控件不显示的问题
2018/08/14 Javascript
在vue项目中引入highcharts图表的方法
2019/01/21 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
js实现全选反选不选功能代码详解
2019/04/24 Javascript
vue 引用自定义ttf、otf、在线字体的方法
2019/05/09 Javascript
浅谈关于vue中scss公用的解决方案
2019/12/02 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
利用Python演示数型数据结构的教程
2015/04/03 Python
用Python解析XML的几种常见方法的介绍
2015/04/09 Python
python统计cpu利用率的方法
2015/06/02 Python
Python如何处理大数据?3个技巧效率提升攻略(推荐)
2019/04/15 Python
给 TensorFlow 变量进行赋值的方式
2020/02/10 Python
python opencv 检测移动物体并截图保存实例
2020/03/10 Python
让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)
2014/04/08 HTML / CSS
JACK & JONES英国官方网站:欧洲领先的男装生产商
2017/09/27 全球购物
eBay美国官网:eBay.com
2020/10/24 全球购物
毕业生多媒体设计求职信
2013/10/12 职场文书
财务部出纳岗位职责
2013/12/22 职场文书
大学生水果店创业计划书
2014/01/28 职场文书
学习经验交流会策划书
2015/11/02 职场文书
2016年学校“3.12”植树节活动总结
2016/03/16 职场文书