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 相关文章推荐
用PHP和ACCESS写聊天室(九)
Oct 09 PHP
IP138 IP地址查询小偷实现代码
Feb 15 PHP
PHP开发不能违背的安全规则 过滤用户输入
May 01 PHP
php设计模式 Prototype (原型模式)代码
Jun 26 PHP
关于二级目录拖拽排序的实现(源码示例下载)
Apr 26 PHP
PHP swfupload图片上传的实例代码
Sep 30 PHP
在PHP模板引擎smarty生成随机数的方法和math函数详解
Apr 24 PHP
php获取QQ头像并显示的方法
Dec 23 PHP
php实现的xml操作类
Jan 15 PHP
PHP生成短网址方法汇总
Jul 12 PHP
php array_values 返回数组的所有值详解及实例
Nov 12 PHP
PHP面向对象学习之parent::关键字
Jan 18 PHP
Laravel框架路由和控制器的绑定操作方法
Jun 12 #PHP
Laravel框架路由设置与使用示例
Jun 12 #PHP
Laravel框架生命周期与原理分析
Jun 12 #PHP
Laravel框架分页实现方法分析
Jun 12 #PHP
php 可变函数使用小结
Jun 12 #PHP
PHP程序员学习使用Swoole的理由
Jun 24 #PHP
PHP实现的装箱算法示例
Jun 23 #PHP
You might like
浅谈电磁辐射对健康的影响
2021/03/01 无线电
PHP模板引擎SMARTY
2006/10/09 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
2013/06/08 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
2016/10/29 PHP
PHP实现读取文件夹及批量重命名文件操作示例
2019/04/15 PHP
PHP7 mongoDB扩展使用的方法分享
2019/05/02 PHP
PHP利用DWZ.CN服务生成短网址
2019/08/11 PHP
对之前写的jquery分页做下升级
2014/06/19 Javascript
禁用页面部分JavaScript不是全部而是部分
2014/09/03 Javascript
jquery简单实现图片切换效果的方法
2015/05/12 Javascript
Javascript中prototype的使用详解
2016/06/18 Javascript
js获取页面引用的css样式表中的属性值方法(推荐)
2016/08/19 Javascript
浅谈ES6 模板字符串的具体使用方法
2017/11/07 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
2018/01/07 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
小程序二次贝塞尔曲线实现购物车商品曲线飞入效果
2019/01/07 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
你或许不知道的一些npm实用技巧
2019/07/04 Javascript
5个你不知道的JavaScript字符串处理库(小结)
2020/06/01 Javascript
nuxt 实现在其它js文件中使用store的方式
2020/11/05 Javascript
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
Windows下用py2exe将Python程序打包成exe程序的教程
2015/04/08 Python
python中print的不换行即时输出的快速解决方法
2016/07/20 Python
Python爬虫番外篇之Cookie和Session详解
2017/12/27 Python
python opencv之分水岭算法示例
2018/02/24 Python
pyqt5 QProgressBar清空进度条的实例
2019/06/21 Python
python全栈开发语法总结
2020/11/22 Python
基于python的opencv图像处理实现对斑马线的检测示例
2020/11/29 Python
泰国第一的化妆品网站:Konvy
2018/02/25 全球购物
统计学专业毕业生的自我评价分享
2013/11/28 职场文书
质检部部长职责
2013/12/16 职场文书
禁止酒驾标语
2014/06/25 职场文书
2014年党的群众路线整改措施思想汇报
2014/10/12 职场文书
工程款申请报告
2015/05/15 职场文书
2015年教研员工作总结
2015/05/26 职场文书
Python中os模块的简单使用及重命名操作
2021/04/17 Python