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 相关文章推荐
php5 and xml示例
Nov 22 PHP
Zend 输出产生XML解析错误
Mar 03 PHP
php结合表单实现一些简单功能的例子
Jun 04 PHP
PHP缩略图等比例无损压缩,可填充空白区域补充色
Jun 10 PHP
php数字转汉字代码(算法)
Oct 08 PHP
php数组函数序列之array_values() 获取数组元素值的函数与方法
Oct 30 PHP
php调用Google translate_tts api实现代码
Aug 07 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
Oct 01 PHP
php防止sql注入简单分析
Mar 18 PHP
php实现对象克隆的方法
Jun 20 PHP
PHP中include和require的区别实例分析
May 07 PHP
PHP文件操作简单介绍及函数汇总
Dec 11 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来写记数器(详细介绍)
2006/10/09 PHP
CI框架在CLI下执行占用内存过大问题的解决方法
2014/06/17 PHP
PHP中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
PHP类的特性实例分析
2016/09/28 PHP
从Ajax到JQuery Ajax学习
2007/02/14 Javascript
javascript 硬盘序列号+其它硬件信息
2008/12/23 Javascript
深入理解JavaScript作用域和作用域链
2011/10/21 Javascript
鼠标划过实现延迟加载并隐藏层的js代码
2013/10/11 Javascript
使用nodejs、Python写的一个简易HTTP静态文件服务器
2014/07/18 NodeJs
javascript无刷新评论实现方法
2015/05/13 Javascript
JS实现图片高亮展示效果实例
2015/11/24 Javascript
jQuery中serializeArray()与serialize()的区别实例分析
2015/12/09 Javascript
关于List.ToArray()方法的效率测试
2016/09/30 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
2016/11/27 Javascript
js 判断一个数字是不是2的n次方幂的实例
2017/11/26 Javascript
layer.alert自定义关闭回调事件的方法
2019/09/27 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
element-ui封装一个Table模板组件的示例
2021/01/04 Javascript
js实现鼠标切换图片(无定时器)
2021/01/27 Javascript
python中的函数用法入门教程
2014/09/02 Python
Python合并字符串的3种方法
2015/05/21 Python
python编程培训 python培训靠谱吗
2018/01/17 Python
解决Django中调用keras的模型出现的问题
2019/08/07 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
python实现LRU热点缓存及原理
2019/10/29 Python
简述python Scrapy框架
2020/08/17 Python
你应该知道的30个css选择器
2014/03/19 HTML / CSS
大学军训自我鉴定
2013/12/15 职场文书
学前教育毕业生自荐信范文
2013/12/24 职场文书
迅雷Cued工作心得体会
2014/01/27 职场文书
三年级小学生评语
2014/04/22 职场文书
环保标语大全
2014/06/12 职场文书
关爱老人标语
2014/06/21 职场文书
检讨书1000字
2014/10/11 职场文书
2014年机关后勤工作总结
2014/12/16 职场文书
MySQL中使用or、in与union all在查询命令下的效率对比
2021/05/26 MySQL