thinkPHP5框架实现基于ajax的分页功能示例


Posted in PHP onJune 12, 2018

本文实例讲述了thinkPHP5框架实现基于ajax的分页功能。分享给大家供大家参考,具体如下:

最近一个页面的选项卡又牵扯到ajax分页,所以研究了一下tp5的ajax分页使用方法

首先看一下tp5的分页功能介绍

参数 描述
list_rows 每页数量
page 当前页
path url路径
query url额外参数
fragment url锚点
var_page 分页变量
type 分页类名
$caseDetails = CaseDetails::where(['status'=>1])->paginate(9,false,['path'=>'javascript:AjaxPage([PAGE]);']);

所以我们分页查询写成上面代码所示。

这样页面显示每个分页上面变成了AjaxPage('当前分页数,自动变化')

然后我们就可以在页面中写一个对应的函数AjaxPage(page),来完成对应的ajax请求查询,在返回到指定的视图中

ajax请求控制器方法如下

public function all()
{
    $caseDetails = CaseDetails::where(['status'=>1])->paginate(9,false,['path'=>'javascript:AjaxPage([PAGE]);']);
    return view('getall',['res'=>$caseDetails]);
}

如果选项卡带ID再次查询对应当前分类,可以使用如下

public function getAjax($id,$page=1)
{
    $res = CaseDetails::where(['category'=>$id])->paginate(9,false,['page'=>$page,'path'=>"javascript:AjaxDetailsPage({$id},[PAGE]);"]);
    return view('',['res'=>$res]);
}

js代码如下:

function AjaxPage(page){
  $.get('/index/successcase/getAll',{ page:page },function (data) {
    $('.little-content').html(data);
  })
}
$('.on').hover(function(){
  $.get('/index/successcase/all',function (data) {
    $('.little-content').html(data);
  })
});
$('.title-id').hover(function(){
  var id = $(this).attr('title');
  $.get('/index/successcase/getajax',{ 'id':id },function(data){
    $('.little-content').html(data);
  });
});
function AjaxDetailsPage(id,page){
  $.get('/index/successcase/getAjax',{ id:id,page:page },function (data) {
    $('.little-content').html(data);
  })
}

ajax作用范围视图

{volist name="res" id="casedetails"}
<li class="little-block">
  <img src="{$casedetails.pic}"/>
  <div class="mb-text">
    <div class="text">
      <h1>{$casedetails.name}</h1>
      <p class="p3">{$casedetails.caseCategory.name}</p>
      <a href="#" rel="external nofollow" >VIEW MORE</a>
    </div>
  </div>
</li>
{/volist}
<br>
{$res->render()}

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
基于mysql的论坛(1)
Oct 09 PHP
功能齐全的PHP发送邮件类代码附详细说明
Jul 10 PHP
PHP提取数据库内容中的图片地址并循环输出
Mar 21 PHP
PHP自动选择 连接本地还是远程数据库
Dec 02 PHP
php模拟socket一次连接,多次发送数据的实现代码
Jul 26 PHP
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
Jun 07 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
Aug 05 PHP
CodeIgniter生成网站sitemap地图的方法
Nov 13 PHP
PHP mkdir()无写权限的问题解决方法
Jun 19 PHP
PHP实现根据密码长度显示安全条
Jul 04 PHP
Laravel5.4框架使用socialite实现github登录的方法
Mar 20 PHP
php xhprof使用实例详解
Apr 15 PHP
Laravel框架路由和控制器的绑定操作方法
Jun 12 #PHP
Laravel框架路由设置与使用示例
Jun 12 #PHP
Laravel框架生命周期与原理分析
Jun 12 #PHP
Laravel框架分页实现方法分析
Jun 12 #PHP
php 可变函数使用小结
Jun 12 #PHP
yii2中关于加密解密的那些事儿
Jun 12 #PHP
php中curl和soap方式请求服务超时问题的解决
Jun 11 #PHP
You might like
PHP源码之 ext/mysql扩展部分
2009/07/17 PHP
php实现简单洗牌算法
2013/06/18 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
2014/03/13 PHP
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
2015/05/12 PHP
编写PHP脚本过滤用户上传的图片
2015/07/03 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
PHP sdk实现在线打包代码示例
2020/12/09 PHP
Js中sort()方法的用法
2006/11/04 Javascript
jquery 表单下所有元素的隐藏
2009/07/25 Javascript
JS基础之undefined与null的区别分析
2011/08/08 Javascript
JS+JSP checkBox 全选具体实现
2014/01/02 Javascript
js实现的标题栏新消息闪烁提示效果
2014/06/06 Javascript
js弹出框、对话框、提示框、弹窗实现方法总结(推荐)
2016/05/31 Javascript
javascript insertAfter()定义与用法示例
2016/07/25 Javascript
AngularJS国际化详解及示例代码
2016/08/18 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
浅析Vue项目中使用keep-Alive步骤
2018/07/27 Javascript
JavaScript HTML DOM元素 节点操作汇总
2019/07/29 Javascript
[13:25]VP vs VICI (BO3)
2018/06/07 DOTA
python求素数示例分享
2014/02/16 Python
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
举例区分Python中的浅复制与深复制
2015/07/02 Python
python迭代dict的key和value的方法
2018/07/06 Python
python中partial()基础用法说明
2018/12/30 Python
django基础学习之send_mail功能
2019/08/07 Python
深入浅析Python科学计算库Scipy及安装步骤
2019/10/12 Python
Python如何使用内置库matplotlib绘制折线图
2020/02/24 Python
Jupyter Notebook输出矢量图实例
2020/04/14 Python
关于探究python中sys.argv时遇到的问题详解
2021/02/23 Python
pandas map(),apply(),applymap()区别解析
2021/02/24 Python
css3中less实现文字长阴影(long shadow)
2020/04/24 HTML / CSS
澳大利亚家具商店:Freedom
2020/12/17 全球购物
工作迟到检讨书
2014/02/21 职场文书
解除财产保全担保书
2014/05/20 职场文书
单方离婚协议书范本(2014版)
2014/09/30 职场文书
新闻报道稿范文
2015/07/23 职场文书