jQuery+Ajax+PHP实现异步分页数据显示--js可参考

ajax获取json数据使用jquery分页插件显示 插件下载地址 http://www.jq22.com/jquery-plugins分页-2-jq 下载的插件用自带的数据是可以的,但是采用ajax获取的json数据的时候会报错,所以我对插件进行了修改,成功实现。这个例子希望大家看懂自己来该,照抄不了。 立即下载
这几天做毕业设计的时候需要使用到一个异步分页的功能,即翻页的时候只是刷新分页的数据而不是刷新整个页面。因为之前做项目的时候没有做过这方面的功能,所以还是纠结了挺长时间的,在网上也找了很多资料,结合自己的理解,做了一个比较简单的异步分页数据显示功能,这里使用的是jQuery+Ajax+PHP。

  先说说基本原理吧,其实就是翻页时使用Ajax向后台传递页面参数请求某个分页的数据,后台接收到参数之后就在数据库中查询相应的记录,然后以json的格式传输给Ajax,Ajax接收到数据后,使用jQuery在html页面上移除原来旧的分页数据,添加上新的分页数据,同时根据分页情况添加分页按钮栏。

  下面看看简单的代码实现:

1. html页面:

1
2
3
4
5
6
<body>
        <div id="data-area">
            <ul>                <!--这里添加分页数据-->              </ul>   
        </div>
        <div id="pageBar"><!--这里添加分页按钮栏--></div>
</body>

2. js代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
var curPage;        //当前页数
var totalItem;      //总记录数
var pageSize;       //每一页记录数
var totalPage;      //总页数
 
//获取分页数据
function turnPage(page)
{
  $.ajax({
    type: 'POST',
    url: commentDataUrl,     //这里是请求的后台地址,自己定义
    data: {'pageNum':page},
    dataType: 'json',
    beforeSend: function() {
      $("#data-area ul").append("加载中...");
    },
    success: function(json) {
      $("#data-area ul").empty();       //移除原来的分页数据
      totalItem = json.totalItem;
      pageSize = json.pageSize;
      curPage = page;
      totalPage = json.totalPage;
      var data_content = json.data_content;
      var data_html = "";
      $.each(data_content,function(index,array) {     //添加新的分页数据(数据的显示样式根据自己页面来设置,这里只是一个简单的列表)
        data_html += "<li>"+array['id']+"&nbsp;"+array['name']+"&nbsp;"+array['num']+"&nbsp;"+array['flag']+"</li>";
      });
 
      $("#data-area ul").append(data_html);
    },
    complete: function() {    //添加分页按钮栏
      getPageBar();
    },
    error: function() {
      alert("数据加载失败");
    }
  });
}
 
//获取分页条(分页按钮栏的规则和样式根据自己的需要来设置)
function getPageBar()
{
  if(curPage > totalPage) {
    curPage = totalPage;
  }
  if(curPage < 1) {
    curPage = 1;
  }
 
  pageBar = "";
 
  //如果不是第一页
  if(curPage != 1){
    pageBar += "<span class='pageBtn'><a href='javascript:turnPage(1)'>首页</a></span>";
    pageBar += "<span class='pageBtn'><a href='javascript:turnPage("+(curPage-1)+")'><<</a></span>";
  }
 
  //显示的页码按钮(5个)
  var start,end;
  if(totalPage <= 5) {
    start = 1;
    end = totalPage;
  } else {
    if(curPage-2 <= 0) {
        start = 1;
        end = 5;
    } else {
        if(totalPage-curPage < 2) {
            start = totalPage - 4;
            end = totalPage;
        } else {
            start = curPage - 2;
            end = curPage + 2;
        }
    }
  }
 
  for(var i=start;i<=end;i++) {
    if(i == curPage) {
        pageBar += "<span class='pageBtn-selected'><a href='javascript:turnPage("+i+")'>"+i+"</a></span>";
    } else {
        pageBar += "<span class='pageBtn'><a href='javascript:turnPage("+i+")'>"+i+"</a></span>";
    }
  }
   
  //如果不是最后页
  if(curPage != totalPage){
    pageBar += "<span class='pageBtn'><a href='javascript:turnPage("+(parseInt(curPage)+1)+")'>>></a></span>";
    pageBar += "<span class='pageBtn'><a href='javascript:turnPage("+totalPage+")'>尾页</a></span>";
  }
     
  $("#pageBar").html(pageBar);
}
 
//页面加载时初始化分页
$(function() {
  turnPage(1);
});

3. PHP代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//我项目中使用的是ThinkPHP框架,Ajax的请求地址是一个方法<br>public function getLabelData()
{
    $pageNum = I('pageNum');
    $totalItem = M('label')->count();
    $pageSize = 6;
    $totalPage = ceil($totalItem/$pageSize);
 
    $startItem = ($pageNum-1) * $pageSize;
    $arr['totalItem'] = $totalItem;
    $arr['pageSize'] = $pageSize;
    $arr['totalPage'] = $totalPage;
 
    $labels = M('label')->limit($startItem,$pageSize)->select();
 
    foreach($labels as $lab) {
        $arr['data_content'][] = $lab;
    }
 
    echo json_encode($arr);
}

4. 分页按钮栏样式CSS:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#pageBar {
    text-align: right;
    padding: 0 20px 20px 0;
}
.pageBtn a {
    display: inline-block;
    border: 1px solid #aaa;
    padding: 2px 5px;
    margin : 0 3px;
    font-size: 13px;
    background: #ECECEC;
    color: black;
    text-decoration: none;
    -moz-border-radius: 2px;
    -webkit-border-radius: 3px;
}
.pageBtn-selected a {
    display: inline-block;
    border: 1px solid #aaa;
    padding: 2px 5px;
    margin : 0 3px;
    font-size: 13px;
    background: #187BBD;
    color: white;
    text-decoration: none;
    -moz-border-radius: 2px;
    -webkit-border-radius: 3px;
}
.pageBtn a:hover {
    background: #187BBD;
    color: white;
}

5. 实现效果:

(总是显示五个数字页面按钮,数字跟着当前所在页面变化)

  其实,异步分页的应用还是挺广泛的,有些应用并不是很明显地看上去就是数据分页,但本质上还是异步分页,例如:一些网站上的“换一批”功能,其实就是异步分页的变形,我们只要把分页按钮栏的规则和显示效果修改一下就可以轻松实现了!!!

PHP+AJAX实现 分页 NULL 博文链接:https://guangqiang.iteye.com/blog/1818912 立即下载

相关推荐

jQuery+Ajax+PHP无刷新分页

实现管理员后台列表的无刷新分页,采用了异步传输数据。

项目开发之分页---同步分页

  以前使用分页的时候都是直接调用插件,目前在做一个医疗商城的项目,前端使用的是bootstrap,虽然也有相关的分页插件,奈何经过一阵讨论最后还是放弃了,决定自己写一个,第一个分页是采用的同步分页,主要针对的是每张界面只有一个分页页面,每次点击分页的时候会刷新整个页面,虽然比起异步分页有一点缺点,但是封装的整体比较好用,每张界面直接调方法引入即可,大大的节省了开发时间,提高开发效率,下面为大家整...

weixin_30711917的博客 266

RISC-V— 架构基础知识学习

蜂鸟 E200 系列是一个开源的RISC-V 处理器。蜂鸟 E200 系列由中国大陆研发团队开发,用户能够轻松与开发人员取得交流和支持。RI蜂鸟 E200 处理器研发团队拥有在国际一流公司多年开发处理器的经验,使用稳健的Verilog 2001 语法编写的可综合 RTL 代码,以工业级标准进行开发。蜂鸟 E200 的代码为人工编写,添加丰富的注释且可读性强,非常易于理解。

deilt 1万+

php制作分页不用数据库,PHP分页显示制作详细讲解

PHP分页显示制作详细讲解更新时间:2006年12月05日 00:00:00 作者:1、前言分页显示是一种非常常见的浏览和显示大量数据的方法,属于web编程中最常处理的事件之一。对于web编程的老手来说,编写这种代码实在是和呼吸一样自然,但是对于初学者来说,常常对这个问题摸不着头绪,因此特地撰写此文对这个问题进行详细的讲解,力求让看完这篇文章的朋友在看完以后对于分页显示的原理和实现方法有所了解...

weixin_42139871的博客 361

保姆级教程:用COMSOL LiveLink™ for MATLAB 玩转自定义PDE,从理论到仿真一条龙

本文详细介绍了如何利用COMSOL LiveLink™ for MATLAB实现自定义PDE的从理论到仿真的完整流程。通过PDE模块与MATLAB的无缝集成,用户可以灵活处理非标准偏微分方程,适用于材料建模、传热传质验证等多物理场耦合研究。教程涵盖环境配置、方程标准化、界面操作及高级应用技巧,为工程仿真研究者提供原子级控制方案。

weixin_34098209的博客 354

AMBA-ATB spec

AMBA-ATB spec 1. ATB总线的用途及版本 1.1 ATB总线用途 一般来说,ATB(Advanced Trace Bus)总线用来在ARM的coresight组件之间传递trace数据。如下图所示: 1.2 ATB总线的版本 ATB(Advanced Trace Bus)共有两个版本,其中v1.0作为AMBA3的一部分,于2006年发布的,而v1.1则是2012年随着AMBA4发布的。ATB规范新增了数据(主要针对trace data)不可知的接口,以便在跟踪系统中根据 AMBA 规范跟

weixin_43781229的博客 7348

php中ajax异步分页,php+ajax无刷新分页实例详解

本文实例讲述了php+ajax无刷新分页实现方法。分享给大家供大家参考,具体如下:ajax_page_show_userinfo.php页面如下:ajax分页演示$db=mysql_connect("localhost","root","123456");mysql_select_db("register");mysql_query("set names 'utf-8'");$result=mys...

weixin_31833039的博客 171

GD32F103入门实践(一)配置环境,搭建工程模板,烧写程序

写在前面 本系列博客是我初学GD32F103的操作实录,我个人是个小白,在学习过程中真的也遇到了不少坑,因此我希望能记录下来,帮助到同样踩坑的你。 我的芯片是GD32F103ZE,软件是Keil,烧写用的是JLink。 材料准备 首先我在兆易创新官网(兆易创新),下载相关的文件。点击资料下载,在搜索框里输入“GD32F10”可以得到相关的资料,其他芯片类似。比较重要的是GD32F10x AddOn和GD32F10x Firmware Library(固件库),这两个必须下载。 下载Keil MDK5,这

qq_41208487的博客 3万+

jQuery+Ajax+PHP实现异步分页数据显示

怕链接失效,原文地址:https://www.cnblogs.com/wujuntian/p/5005006.html jQuery+Ajax+PHP实现异步分页数据显示 - 编程人,在天涯 - 博客园 编程人,在天涯 </div><!--end: blogTitle...

misshow 555

Python爬虫实战:使用最新技术抓取采购网招标公告信息

本文将详细介绍如何使用Python最新爬虫技术构建一个高效的采购网招标公告信息抓取系统。我们将从爬虫基础概念讲起,逐步深入到高级技巧,包括异步处理、反爬虫对策、数据解析与存储等,并提供完整的代码实现。本文旨在为读者提供一套完整的网络数据采集解决方案,适用于各类政府采购平台和商业招标网站。网络爬虫(Web Crawler)是一种自动抓取互联网信息的程序或脚本,它们按照一定的规则,自动地浏览万维网并提取所需数据。在现代商业环境中,爬虫技术广泛应用于价格监控、竞争情报收集、市场研究等领域。

2201_76125261的博客 1621

C#实现将DataGridView中数据导出到Excel (附完整源码)

C#实现将DataGridView中数据导出到Excel (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1589

php ajax 搜索分页,PHP中使用jQuery+Ajax实现分页查询功能

下面小编就为大家带来一篇PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧1.首先做主页面Ajax_pag.php代码如下:Ajax做分页.header{margin-top: 20px;}关键字:地区代号地区名称父级代号2.然后做分页查询JS页面Ajax_pag.js代码如下://ajax分页开始va...

weixin_35678674的博客 215

Qt入门教程【基础控件篇】QLineEdit输入框

QLineEdit输入框

小鱼酱的博客 3262

php jquery ajax表格分页,js相关:PHP+jquery+ajax实现分页

js相关:PHP+jquery+ajax实现分页发布于 2020-6-7|复制链接摘记: 本文实例为大家分享了jquery ajax实现分页的具体代码,供大家参考,具体内容如下HTML```xhtml```CSS```css#list{width:680px; h ..本文实例为大家分享了jquery ajax实现分页的具体代码,供大家参考,具体内容如下HTML```xhtml```CSS```c...

weixin_36344231的博客 252

《驾驭你的AI同事:WorkBuddy深度精通》027:11.1 私有知识库接入

11.1 私有知识库接入 —— 《驾驭你的AI同事:WorkBuddy深度精通》系列图文教程,配图已统一为规范示意图。

LuckyHanMo的博客 140

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jq异步实现ajax,用jQuery的AJax实现异步访问、异步加载

本篇文章实现了用jQuery的AJax实现异步访问和异步加载,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。【异步访问】用一个例子用以说明:点击按钮,将input内用户输入的数据发送给服务端,并将结果返回给页面。首先是html承载内容:Meta charset="UTF-8">AJax异步访问结果:配置服务器:Server.PHPPHP;">PHPif(isset($_GET['n...

weixin_39945871的博客 383

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

jq异步加载php,用jQuery的AJax实现异步访问、异步加载

本篇文章实现了用jQuery的AJax实现异步访问和异步加载,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。【异步访问】用一个例子用以说明:点击按钮,将input内用户输入的数据发送给服务端,并将结果返回给页面。首先是html承载内容:AJax异步访问提交结果:配置服务器:Server.phpif(isset($_GET['name'])){echo "姓名:".$_GET['name'];}...

weixin_32204175的博客 206

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

php ajax异步请求数据,Ajax异步请求JSon数据(图文详解)

上一篇讲了Ajax请求数据text类型,text和html都是处理比较简答的数据,而在编程过程中使用Ajax调用数据的时候,难免要进行逻辑的处理,接受的数据也变的复杂比如数组类型的数据,这时候就需要使用JSON数据类型进行处理,今天就说说,JSON数据请求过程中的一些细节:脚本之家友情提醒本文所需工具和原料如下:wamp或lamp环境、jquery.js、编辑器具体方法/步骤请看下面:1.创建基本...

weixin_39664477的博客 289

jQuery+AJAX技术(简单的用户注册功能)

另一种就是这里用到的AJAX异步传输数据,同时接收服务器返回数据,不会刷新页面,能保留之前的数据,不影响页面的继续操作。客户端页面接收到了服务器传输回来的数据并作出了响应结果,此时页面并没有刷新,即输入的用户名仍然存在输入框中,这里就体现了AJAX的异步功能)短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示,并且实现的是对部分网页的更新,编写常规的 AJAX 代码并不容易,并且不同的浏览器对 AJAX 的实现并不相同。,同时您能够把这些外部数据直接载入网页的被选元素中。

m0_53156691的博客 2512

jq ajax php异步登录界面,用jQuery的AJax实现异步访问、异步加载

本篇文章实现了用jQuery的AJax实现异步访问和异步加载,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。【异步访问】用一个例子用以说明:点击按钮,将input内用户输入的数据发送给服务端,并将结果返回给页面。首先是html承载内容:AJax异步访问提交结果:配置服务器:Server.phpif(isset($_GET['name'])){echo "姓名:".$_GET['name'];}...

weixin_32445049的博客 177

小随笔——ThinkPHP5:利用AJAX实现会员异步删除

小随笔——20180318 ♠ ♥ ♦ ♣ 该文章仅为平时的笔记,非商用,如有侵权请联系博主删除 ♣ ♦ ♥ ♠ 环境:Apache + ThinkPHP + Mysql + Ajax 相关问题描述: 使用ThinkPHP5搭建大型商城后台的时候,需要使用Ajax来进行异步更新(增加、删除等)数据。 菜鸟级步骤: 1、导入jQuery文件: 可以使用CDN,也可以...

Greahow的博客 1209

jQuery基础——Ajax

JQ中的ajax

m0_54066656的博客 2243

php和ajax连接数据库实现动态数据可视化

版权声明:本文为博主原创文章,转载请注明优快云博客源地址!共同学习,一起进步~ 目录(?)[+]         前一篇文章 "[Echarts可视化] 一.入门篇之简单绘制中国地图和贵州地区" 主要是通过Echarts可视化介绍入门知识、中国地图和贵州地区各省份的数据分析,其中贵州地图才是它的核心内容。         这篇文章主要结合PHP、MySQL、JQ

JohnApostle的博客 4549

ajax异步同步加载PHP代码,jquery中的ajax同步和异步详解

jquery ajax同步的意思是当JS代码加载到当前ajax的时候会把页面里所有的代码停止加载,页面出现了假死状态,当这个ajax执行完毕后才会继续运行其他的代码假死状态解除。而异步的意思是这个ajax代码运行中的时候其他代码一样可以运行。本文给大家详解,感兴趣的朋友参考下之前一直在写JQUERY代码的时候遇到AJAX加载数据都需要考虑代码运行顺序问题。最近的项目用了到AJAX同步。这个同步的意...

weixin_36127428的博客 153

jquery ajax格式

jquery ajax的请求格式$.ajax({ type : 'post',//post或者get url : url, async : false,//是否异步提交 默认为true global : false,//阻止ajax全局属性生效,比如下面的ajaxStart和ajaxStop data : {

11222 2808

使用jQuery和PHP来构建Ajax驱动的网页

如果您像大多数PHP开发人员一样,则可能以老式的方式学习了技巧。 您学习了如何定义和构建简单PHP页面,将它们连接到简单的MySQL表,然后就学了。 随着各种技能水平的提高,您学习了如何创建更加复杂PHP功能,并且学习了如何在MySQL中联接表并执行其他高级任务。 在此过程中,您可能掌握了许多客户端技能,以使您的Web应用程序栩栩如生。 您可能已经学到了一些有关XHTML或CSS的知识,也...

cuxiong8996的博客 298
上一篇: jQuery+Ajax+PHP+Mysql实现分页显示数据
下一篇: sql中如何提取从数据库中所获得时间的年份
puddingpp
博客等级 码龄9年 10粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值