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 相关文章推荐
Search Engine Friendly的URL设计
Oct 09 PHP
PHP4引用文件语句的对比
Oct 09 PHP
PHP+DBM的同学录程序(4)
Oct 09 PHP
PHP编码规范-php coding standard
Mar 16 PHP
php 301转向实现代码
Sep 18 PHP
php短域名转换为实际域名函数
Jan 17 PHP
linux环境apache多端口配置虚拟主机的方法深入介绍
Jun 09 PHP
PHP编程中的常见漏洞和代码实例
Aug 06 PHP
php实现表单多按钮提交action的处理方法
Oct 24 PHP
PHP中strcmp()和strcasecmp()函数字符串比较用法分析
Jan 07 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 PHP
PHP字符串中抽取子串操作实例分析
Jun 22 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中动态显示签名和ip原理
2007/03/28 PHP
完美的php分页类
2017/10/24 PHP
PHP实现字母数字混合验证码功能
2019/07/11 PHP
Laravel5.1 框架表单验证操作实例详解
2020/01/07 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
PHP如何获取Cookie并实现模拟登录
2020/07/16 PHP
为JavaScript添加重载函数的辅助方法
2010/07/04 Javascript
分享20款好玩的jQuery游戏
2011/04/17 Javascript
基于JQuery的Select选择框的华丽变身
2011/08/23 Javascript
JavaScript中的property和attribute介绍
2011/12/26 Javascript
Js中setTimeout()和setInterval() 何时被调用执行的用法
2013/04/12 Javascript
jQuery获取浏览器中的分辨率实现代码
2013/04/23 Javascript
实现checkbox全选、反选、取消JavaScript小脚本异常
2014/04/10 Javascript
javascript ajax的5种状态介绍
2014/08/18 Javascript
常用DOM整理
2015/06/16 Javascript
js实现a标签超链接提交form表单的方法
2015/06/24 Javascript
简单实现Bootstrap标签页
2020/08/09 Javascript
微信小程序日历组件calendar详解及实例
2017/06/08 Javascript
vue2.0学习之axios的封装与vuex介绍
2018/05/28 Javascript
Python使用multiprocessing创建进程的方法
2015/06/04 Python
PyQt 实现使窗口中的元素跟随窗口大小的变化而变化
2019/06/18 Python
python使用装饰器作日志处理的方法
2019/07/11 Python
Python全栈之列表数据类型详解
2019/10/01 Python
Python高并发解决方案实现过程详解
2020/07/31 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
2020/11/28 Python
使用HTML5 IndexDB存储图像和文件的示例
2018/11/05 HTML / CSS
澳大利亚巧克力花束和礼品网站:Tastebuds
2019/03/15 全球购物
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
党校学习思想汇报
2014/01/06 职场文书
结婚典礼证婚词
2014/01/08 职场文书
计算机专业优秀大学生自我总结
2014/01/21 职场文书
小学社团活动总结
2014/06/27 职场文书
个人对照检查剖析材料
2014/10/13 职场文书
2015年会计个人工作总结
2015/04/02 职场文书
Python Numpy之linspace用法说明
2021/04/17 Python
Pygame Rect区域位置的使用(图文)
2021/11/17 Python