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 相关文章推荐
phpfans留言版用到的数据操作类和分页类
Jan 04 PHP
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
Oct 12 PHP
php开发环境配置记录
Jan 14 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
Dec 11 PHP
destoon实现公司新闻详细页添加评论功能的方法
Jul 15 PHP
ThinkPHP表单自动提交验证实例教程
Jul 18 PHP
php使用cookie保存登录用户名的方法
Jan 26 PHP
从wamp到xampp的升级之路
Apr 08 PHP
nginx+thinkphp下解决不支持pathinfo模式
Jul 01 PHP
php实现数组重复数字统计实例
Sep 30 PHP
PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解
Feb 12 PHP
PHP 时间处理类Carbon
May 20 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
信用卡效验程序
2006/10/09 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
2014/10/15 PHP
php rsa加密解密使用详解
2015/01/14 PHP
PHP实现登录注册之BootStrap表单功能
2017/09/03 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
2020/01/22 PHP
js判断输入是否为正整数、浮点数等数字的函数代码
2010/11/17 Javascript
jQuery+css实现图片滚动效果(附源码)
2013/03/18 Javascript
js读取配置文件自写
2014/02/11 Javascript
javascript实现图片循环渐显播放的方法
2015/02/24 Javascript
java必学必会之static关键字
2015/12/03 Javascript
谈一谈js中的执行环境及作用域
2016/03/30 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
2016/05/26 Javascript
利用Angularjs实现幻灯片效果
2016/09/07 Javascript
JS调用打印机功能简单示例
2016/11/28 Javascript
走进AngularJs之过滤器(filter)详解
2017/02/17 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
2017/06/19 Javascript
Vue.js实现按钮的动态绑定效果及实现代码
2017/08/21 Javascript
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
2018/08/24 Javascript
layui使用form表单实现post请求页面跳转的方法
2019/09/14 Javascript
[00:32]2018DOTA2亚洲邀请赛Liquid出场
2018/04/03 DOTA
浅谈Python 中整型对象的存储问题
2016/05/16 Python
Python中shutil模块的常用文件操作函数用法示例
2016/07/05 Python
python使用百度文字识别功能方法详解
2019/07/23 Python
Python字典深浅拷贝与循环方式方法详解
2020/02/09 Python
Python远程方法调用实现过程解析
2020/07/28 Python
python中entry用法讲解
2020/12/04 Python
pytorch 实现L2和L1正则化regularization的操作
2021/03/03 Python
人事助理岗位职责
2013/11/18 职场文书
门卫工作岗位职责
2013/12/17 职场文书
优秀员工年终发言演讲稿
2014/01/01 职场文书
国贸专业毕业求职信
2014/06/11 职场文书
上海世博会志愿者口号
2014/06/17 职场文书
感恩节寄语2015
2015/03/24 职场文书
公文写作:新员工转正申请书范本3篇!
2019/08/07 职场文书
Mysql 如何批量插入数据
2021/04/06 MySQL
windows server2008 开启端口的实现方法
2022/06/25 Servers