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 相关文章推荐
php中支持多种编码的中文字符串截取函数!
Mar 20 PHP
php之对抗Web扫描器的脚本技巧
Oct 01 PHP
php 魔术方法使用说明
Oct 20 PHP
PHP版网站缓存加快打开速度的方法分享
Jun 03 PHP
PHP文件上传主要代码讲解
Sep 30 PHP
php中运用http调用的GET和POST方法示例
Sep 29 PHP
php+ajax无刷新分页实例详解
Dec 07 PHP
php将服务端的文件读出来显示在web页面实例
Oct 31 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
Yii2框架redis基本应用示例
Jul 13 PHP
使用PHP反射机制来构造&quot;CREATE TABLE&quot;的sql语句
Mar 21 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
Feb 10 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命名空间(namespace)的动态访问及使用技巧
2014/08/18 PHP
教你在PHPStorm中配置Xdebug
2015/07/27 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
2019/09/16 PHP
javascript 一些用法小结
2009/09/11 Javascript
理解JavaScript的prototype属性
2012/02/11 Javascript
jquerymobile checkbox及时刷新才能获取其准确值
2012/04/14 Javascript
html中的input标签的checked属性jquery判断代码
2012/09/19 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
学习JavaScript设计模式之装饰者模式
2016/01/19 Javascript
jQuery实现搜索页面关键字的功能
2017/02/16 Javascript
纯JS实现图片验证码功能并兼容IE6-8(推荐)
2017/04/19 Javascript
JS扩展String.prototype.format字符串拼接的功能
2018/03/09 Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
2018/05/23 Javascript
es6数值的扩展方法
2019/03/11 Javascript
js实现随机数小游戏
2019/06/28 Javascript
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
详细讲解用Python发送SMTP邮件的教程
2015/04/29 Python
Python面向对象之继承和组合用法实例分析
2018/08/27 Python
Python 做曲线拟合和求积分的方法
2018/12/29 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
python利用re,bs4,requests模块获取股票数据
2019/07/29 Python
10行Python代码计算汽车数量的实现方法
2019/10/23 Python
使用pyinstaller逆向.pyc文件
2019/12/20 Python
Python2和Python3中@abstractmethod使用方法
2020/02/04 Python
python实现文件+参数发送request的实例代码
2021/01/05 Python
香港化妆品经销商:我的公主
2016/08/05 全球购物
IFCHIC台湾:欧美国际设计师品牌
2019/05/18 全球购物
专升本自我鉴定
2013/10/10 职场文书
决心书标准格式
2014/03/11 职场文书
董事长助理工作职责
2014/06/08 职场文书
党的群众路线教育实践活动方案
2014/10/31 职场文书
2015年电厂工作总结范文
2015/05/13 职场文书
《春酒》教学反思
2016/02/22 职场文书
MySQL 常见的数据表设计误区汇总
2021/06/07 MySQL
Python内置数据结构列表与元组示例详解
2021/08/04 Python
基于Python实现nc批量转tif格式
2022/08/14 Python