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 相关文章推荐
Discuz 6.0+ 批量注册用户名
Sep 13 PHP
11个PHP 分页脚本推荐
Aug 15 PHP
apache中为php 设置虚拟目录
Dec 17 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
Jan 07 PHP
php 5.6版本中编写一个PHP扩展的简单示例
Jan 20 PHP
php使用cookie保存登录用户名的方法
Jan 26 PHP
Laravel 5框架学习之Laravel入门和新建项目
Apr 07 PHP
php使用for语句输出三角形的方法
Jun 09 PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
Oct 20 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
Mar 11 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
Feb 21 PHP
php计数排序算法的实现代码(附四个实例代码)
Mar 31 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
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
浅谈PHP中的数据传输CURL
2016/09/06 PHP
PHP数据库处理封装类实例
2016/12/24 PHP
基于 Swoole 的微信扫码登录功能实现代码
2018/01/15 PHP
Laravel关系模型指定条件查询方法
2019/10/10 PHP
JQuery 操作Javascript对象和数组的工具函数小结
2010/01/22 Javascript
js中cookie的添加、取值、删除示例代码
2013/10/21 Javascript
javascript实现复选框超过限制即弹出警告框的方法
2015/02/25 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
ajax读取数据后使用jqchart显示图表的方法
2015/06/10 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
JS判断是否在微信浏览器打开的简单实例(推荐)
2016/08/24 Javascript
canvas学习之API整理笔记(二)
2016/12/29 Javascript
Vue官方文档梳理之全局配置
2017/11/22 Javascript
JS实现匀速与减速缓慢运动的动画效果封装示例
2018/08/27 Javascript
javascript实现手动点赞效果
2019/04/09 Javascript
微信小程序日历弹窗选择器代码实例
2019/05/09 Javascript
Vue页面渲染中key的应用实例教程
2021/01/12 Vue.js
[04:48]DOTA2上海特锦赛小组赛第三日 TOP10精彩集锦
2016/02/28 DOTA
python list使用示例 list中找连续的数字
2014/01/27 Python
Python中Threading用法详解
2017/12/27 Python
基于Python List的赋值方法
2018/06/23 Python
详解Python的循环结构知识点
2019/05/20 Python
python实现windows倒计时锁屏功能
2019/07/30 Python
Django框架 信号调度原理解析
2019/09/04 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
2020/03/06 Python
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
浅谈html5增强的页面元素
2016/06/14 HTML / CSS
美国女性卫生用品公司:Thinx
2017/06/30 全球购物
FC-Moto英国:欧洲最大的摩托车服装和头盔商店之一
2019/08/25 全球购物
应届生自我鉴定
2013/12/11 职场文书
营销总经理的岗位职责
2013/12/15 职场文书
工伤事故赔偿协议书(标准)
2014/09/29 职场文书
对公司的意见和建议
2015/06/04 职场文书
教师教育教学随笔
2015/08/15 职场文书
Tomcat项目启动失败的原因和解决办法
2022/04/20 Servers