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 相关文章推荐
从MySQL数据库表中取出随机数据的代码
Sep 05 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
Feb 14 PHP
探讨php中遍历二维数组的几种方法详解
Jun 08 PHP
PHP获取当前页面完整URL的实现代码
Jun 10 PHP
解析strtr函数的效率问题
Jun 26 PHP
PHP生成指定长度随机数最简洁的方法
Jul 14 PHP
浅谈PHP中output_buffering
Jul 13 PHP
Yii框架用户登录session丢失问题解决方法
Jan 07 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
Mar 10 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
Oct 08 PHP
PHP的new static和new self的区别与使用
Nov 27 PHP
php redis setnx分布式锁简单原理解析
Oct 23 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数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
php自定义函数实现JS的escape的方法示例
2016/07/07 PHP
smarty模板数学运算示例
2016/12/11 PHP
指定js可访问其它域名的cookie的方法
2007/09/18 Javascript
JScript中使用ADODB.Stream判断文件编码的代码
2008/06/09 Javascript
Javascript中 关于prototype属性实现继承的原理图
2013/04/16 Javascript
利用NodeJS的子进程(child_process)调用系统命令的方法分享
2013/06/05 NodeJs
IE、FF、Chrome浏览器中的JS差异介绍
2013/08/13 Javascript
开发中可能会用到的jQuery小技巧
2014/03/07 Javascript
jquery mobile界面数据刷新的实现方法
2016/05/28 Javascript
jquery之别踩白块游戏的简单实现
2016/07/25 Javascript
安装vue-cli报错 -4058 的解决方法
2017/10/19 Javascript
node使用promise替代回调函数
2018/05/07 Javascript
vue实现简单loading进度条
2018/06/06 Javascript
vue项目中实现图片预览的公用组件功能
2018/10/26 Javascript
文章或博客自动生成章节目录索引(支持三级)的实现代码
2020/05/10 Javascript
基于Python的关键字监控及告警
2017/07/06 Python
Python编程中NotImplementedError的使用方法
2018/04/21 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
Python的log日志功能及设置方法
2019/07/11 Python
python 读取二进制 显示图片案例
2020/04/24 Python
python中altair可视化库实例用法
2021/01/26 Python
详解css3 flex弹性盒自动铺满写法
2020/09/17 HTML / CSS
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
Lacoste美国官网:经典POLO衫品牌
2016/10/12 全球购物
Linux内核的同步机制是什么?主要有哪几种内核锁
2013/01/03 面试题
动物学专业毕业生求职信
2013/10/11 职场文书
业务总经理岗位职责
2014/02/03 职场文书
心理健康课教学反思
2014/02/13 职场文书
小学生家长寄语
2014/04/02 职场文书
篮球兴趣小组活动总结
2014/07/07 职场文书
简单的离婚协议书范本
2014/11/16 职场文书
2015年人事科工作总结
2015/04/28 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书
python实现简单区块链结构
2021/04/25 Python
centos8安装MongoDB的详细过程
2021/10/24 MongoDB