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的常用命令
Oct 09 PHP
支持oicq头像的留言簿(二)
Oct 09 PHP
php heredoc和phpwind的模板技术使用方法小结
Mar 28 PHP
php 分库分表hash算法
Nov 12 PHP
PHP最常用的ini函数分析 针对PHP.ini配置文件
Apr 22 PHP
php中删除字符串中最先出现某个字符的实现代码
Feb 03 PHP
利用php获取服务器时间的实现代码
Jun 07 PHP
使用php测试硬盘写入速度示例
Jan 27 PHP
关于PHP的curl开启问题探讨
Apr 08 PHP
php返回当前日期或者指定日期是周几
May 21 PHP
分享一个漂亮的php验证码类
Sep 29 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
Aug 07 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
用cookies来跟踪识别用户
2006/10/09 PHP
逐步提升php框架的性能
2008/01/10 PHP
php 运行效率总结(提示程序速度)
2009/11/26 PHP
PHP中strtr字符串替换用法详解
2014/11/26 PHP
PHP使用token防止表单重复提交的方法
2016/04/07 PHP
yii2中的rules 自定义验证规则详解
2016/04/19 PHP
利用PHP扩展Xhprof分析项目性能实践教程
2018/09/05 PHP
可以支持多中格式的JS键盘
2007/05/02 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
angularjs的一些优化小技巧
2014/12/06 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
解决bootstrap中modal遇到Esc键无法关闭页面
2015/03/09 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
JS中Eval解析JSON字符串的一个小问题
2016/02/21 Javascript
js获取指定字符前/后的字符串简单实例
2016/10/27 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
2017/05/05 jQuery
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
2018/09/14 Javascript
[00:12]2018DOTA2亚洲邀请赛 sylar表现SOLO技艺
2018/04/06 DOTA
python实现批量获取指定文件夹下的所有文件的厂商信息
2014/09/28 Python
获取Django项目的全部url方法详解
2017/10/26 Python
深入理解Python3 内置函数大全
2017/11/23 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
python dict乱码如何解决
2020/06/07 Python
前端canvas动画如何转成mp4视频的方法
2019/06/17 HTML / CSS
使用canvas实现黑客帝国数字雨效果
2020/01/02 HTML / CSS
如何高效率的查找一个月以内的数据
2012/04/15 面试题
IBatis持久层技术
2016/07/18 面试题
后勤副校长自我鉴定
2013/10/13 职场文书
高中英语教学反思
2014/02/04 职场文书
中药专业毕业自荐书范文
2014/02/08 职场文书
意向书范本
2014/07/29 职场文书
缅怀先烈演讲稿
2014/09/03 职场文书
孕妇离婚协议书范本
2014/11/20 职场文书
品质保证书格式
2015/02/28 职场文书
通过Qt连接OpenGauss数据库的详细教程
2021/06/23 PostgreSQL
一次SQL查询优化原理分析(900W+数据从17s到300ms)
2022/06/10 SQL Server