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 相关文章推荐
详细介绍:Apache+PHP+MySQL配置攻略
Sep 05 PHP
PHP实现用户认证及管理完全源码
Mar 11 PHP
php与php MySQL 之间的关系
Jul 17 PHP
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
Jun 06 PHP
编写php应用程序实现摘要式身份验证的方法详解
Jun 08 PHP
解析strtr函数的效率问题
Jun 26 PHP
php把session写入数据库示例
Feb 26 PHP
destoon整合UCenter图文教程
Jun 21 PHP
Yii CFileCache 获取不到值的原因分析
Feb 08 PHP
PHP自定义函数实现数组比较功能示例
Oct 19 PHP
Laravel 实现密码重置功能
Feb 23 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
Mar 18 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
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
php下载文件超时时间的设置方法
2016/10/06 PHP
Smarty模板类内部原理实例分析
2019/07/03 PHP
Laravel 5+ .env环境配置文件详解
2020/04/06 PHP
基于PHP实现邮箱验证激活过程详解
2020/10/28 PHP
jquery CSS选择器笔记
2010/03/29 Javascript
用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
2010/06/19 Javascript
JS中实现简单Formatter函数示例代码
2014/08/19 Javascript
plupload+artdialog实现多平台上传文件
2016/07/19 Javascript
angular2中router路由跳转navigate的使用与刷新页面问题详解
2017/05/07 Javascript
jQuery实现的简单在线计算器功能
2017/05/11 jQuery
vue中使用refs定位dom出现undefined的解决方法
2017/12/21 Javascript
vue2.0 elementUI制作面包屑导航栏
2018/02/22 Javascript
JavaScript设计模式之缓存代理模式原理与简单用法示例
2018/08/07 Javascript
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
2019/09/10 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
2019/12/16 Javascript
一步步解析Python斗牛游戏的概率
2016/02/12 Python
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
对python程序内存泄漏调试的记录
2018/06/11 Python
win10下tensorflow和matplotlib安装教程
2018/09/19 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
Python使用folium excel绘制point
2019/01/03 Python
详解Appium+Python之生成html测试报告
2019/01/04 Python
pytorch模型预测结果与ndarray互转方式
2020/01/15 Python
英国最大的高品质珠宝和手表专家:Goldsmiths
2017/03/11 全球购物
独特的礼品和创新的科技产品:The Grommet
2018/02/24 全球购物
西班牙语在线票务市场:SuperBoletería
2019/06/10 全球购物
实习生自荐信范文分享
2013/11/27 职场文书
财务人员个人求职信范文
2013/12/04 职场文书
《月光启蒙》教学反思
2014/03/01 职场文书
《海底世界》教学反思
2014/04/16 职场文书
2015年社区党务工作总结
2015/04/21 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
python中pandas对多列进行分组统计的实现
2021/06/18 Python
HTML中的表单元素介绍
2022/02/28 HTML / CSS