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数组
Oct 09 PHP
PHP 错误之引号中使用变量
May 04 PHP
php中实现记住密码自动登录的代码
Mar 02 PHP
php读取富文本的时p标签会出现红线是怎么回事
May 13 PHP
php导出csv格式数据并将数字转换成文本的思路以及代码分享
Jun 05 PHP
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
Jan 22 PHP
php动态绑定变量的用法
Jun 16 PHP
完美利用Yii2微信后台开发的系列总结
Jul 18 PHP
php 字符串中是否包含指定字符串的多种方法
Apr 12 PHP
PHP 数组黑名单/白名单实例代码详解
Jun 04 PHP
redis+php实现微博(三)微博列表功能详解
Sep 23 PHP
PHP文件打开关闭及读写操作示例解析
Aug 06 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读取MySQL数据代码
2008/06/05 PHP
php使用function_exists判断函数可用的方法
2014/11/19 PHP
php+flash+jQuery多图片上传源码分享
2020/07/27 PHP
Javascript对象中关于setTimeout和setInterval的this介绍
2012/07/21 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
分享jQuery网页元素拖拽插件
2020/12/01 Javascript
JS获取地址栏参数的两种方法(简单实用)
2016/06/14 Javascript
JavaScript 栈的详解及实例代码
2017/01/22 Javascript
Express下采用bcryptjs进行密码加密的方法
2018/02/07 Javascript
webpack4 + react 搭建多页面应用示例
2018/08/03 Javascript
AngularJS自定义表单验证功能实例详解
2018/08/24 Javascript
Vue-cli3简单使用(图文步骤)
2019/04/30 Javascript
vue 实现微信浮标效果
2019/09/01 Javascript
JavaScript 链表定义与使用方法示例
2020/04/28 Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
2020/06/24 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
axios解决高并发的方法:axios.all()与axios.spread()的操作
2020/11/09 Javascript
在vue项目中封装echarts的步骤
2020/12/25 Vue.js
Python常见字典内建函数用法示例
2018/05/14 Python
Python使用Selenium爬取淘宝异步加载的数据方法
2018/12/17 Python
Python中sys模块功能与用法实例详解
2020/02/26 Python
PyQt5中向单元格添加控件的方法示例
2020/03/24 Python
解决django FileFIELD的编码问题
2020/03/30 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
2020/04/22 Python
python Socket网络编程实现C/S模式和P2P
2020/06/22 Python
HTML5中的Scoped属性使用实例
2014/04/23 HTML / CSS
Nasty Gal英国:美国女性服饰销售网站
2021/03/02 全球购物
俄罗斯运动、健康和美容产品在线商店:Lactomin.ru
2020/07/23 全球购物
PHP笔试题
2012/02/22 面试题
最新大学生自我评价
2013/09/24 职场文书
融资合作协议书范本
2014/10/17 职场文书
2015年母亲节寄语
2015/03/23 职场文书
孕妇病假条怎么写
2015/08/17 职场文书
python3读取文件指定行的三种方法
2021/05/24 Python
python中24小时制转换为12小时制的方法
2021/06/18 Python
MySQL基础快速入门知识总结(附思维导图)
2021/09/25 MySQL