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 auth_http类库进行身份效验
Mar 19 PHP
第四章 php数学运算
Dec 30 PHP
PHP json格式和js json格式 js跨域调用实现代码
Sep 08 PHP
PHP使用CURL_MULTI实现多线程采集的例子
Jul 29 PHP
php上传文件常见问题总结
Feb 03 PHP
PHP session文件独占锁引起阻塞问题解决方法
May 12 PHP
PHP扩展开发教程(总结)
Nov 04 PHP
php文件上传后端处理小技巧
May 22 PHP
Yii实现文章列表置顶功能示例
Oct 18 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
Feb 04 PHP
php对象工厂类完整示例
Aug 09 PHP
laravel框架中控制器的创建和使用方法分析
Nov 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 上传文件的方法(类)
2009/07/30 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
试用php中oci8扩展
2015/06/18 PHP
ThinkPHP的常用配置选项汇总
2016/03/24 PHP
MAC下通过改apache配置文件切换php多版本的方法
2017/04/26 PHP
PHP论坛实现积分系统的思路代码详解
2020/06/01 PHP
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
2007/04/01 Javascript
jQuery 性能优化指南 (1)
2009/05/21 Javascript
js监听表单value的修改同步问题,跨浏览器支持
2009/12/31 Javascript
javascript学习之闭包分析
2010/12/02 Javascript
JS实现倒计时和文字滚动的效果实例
2014/10/29 Javascript
JS 实现列表与多选框选择附预览动画
2014/10/29 Javascript
jQuery实现炫酷的鼠标轨迹特效
2015/02/01 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
nodejs进阶(6)—连接MySQL数据库示例
2017/01/07 NodeJs
深入理解js 中async 函数的含义和用法
2018/05/13 Javascript
微信小程序自定义prompt组件步骤详解
2018/06/12 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
Pthon批量处理将pdb文件生成dssp文件
2015/06/21 Python
python开发利器之ulipad的使用实践
2017/03/16 Python
Python实现针对给定单链表删除指定节点的方法
2018/04/12 Python
小橄榄树:Le Petit Olivier
2018/04/23 全球购物
德国2018年度最佳在线药房:Bodfeld Apotheke
2019/11/04 全球购物
党员年终民主评议的自我评价
2013/11/05 职场文书
大学生求职信范文应怎么写
2014/01/01 职场文书
美德好少年主要事迹
2014/01/29 职场文书
护士在校生自荐信
2014/02/01 职场文书
飘柔洗发水广告词
2014/03/14 职场文书
个人工作表现评语
2014/04/30 职场文书
授权委托书格式
2014/07/31 职场文书
团党委领导干部党的群众路线教育实践活动个人对照检查材料思想汇
2014/10/05 职场文书
Python 循环读取数据内存不足的解决方案
2021/05/25 Python
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/06 其他游戏