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操作xml代码
Jun 17 PHP
PHP学习 变量使用总结
Mar 24 PHP
php下载文件的代码示例
Jun 29 PHP
php上传文件,创建递归目录的实例代码
Oct 18 PHP
PHP生成自适应大小的缩略图类及使用方法分享
May 06 PHP
smarty模板引擎中自定义函数的方法
Jan 22 PHP
php中使用base HTTP验证的方法
Apr 20 PHP
深入讲解PHP Session及如何保持其不过期的方法
Aug 18 PHP
Yii视图CGridView列表用法实例分析
Jul 12 PHP
php图像处理函数imagecopyresampled用法详解
Dec 02 PHP
PHP空值检测函数与方法汇总
Nov 19 PHP
PHP实现动态创建XML文档的方法
Mar 30 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
PHP array操作10个小技巧分享
2011/06/23 PHP
php支持中文字符串分割的函数
2015/05/28 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
简单解决微信文章图片防盗链问题
2016/12/17 PHP
window.location和document.location的区别分析
2008/12/23 Javascript
JQuery 学习技巧总结
2010/05/21 Javascript
克隆javascript对象的三个方法小结
2011/01/12 Javascript
基于jquery的从一个页面跳转到另一个页面的指定位置的实现代码(带平滑移动的效果)
2011/05/24 Javascript
JS实现Enter键跳转及控件获得焦点
2013/08/12 Javascript
JavaScript 语言基础知识点总结(思维导图)
2013/11/10 Javascript
js实现可拖动DIV的方法
2013/12/17 Javascript
js正则表达式中test,exec,match方法的区别说明
2014/01/29 Javascript
JS获取select的value和text值的简单实例
2014/02/26 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
2016/01/29 Javascript
jQuery控制控件文本的长度的操作方法
2016/12/05 Javascript
基于JavaScript实现购物车功能
2017/02/07 Javascript
老生常谈ES6中的类
2017/07/31 Javascript
Javascript中 toFixed四舍六入方法
2017/08/21 Javascript
JQ图片文件上传之前预览功能的简单实例(分享)
2017/11/12 Javascript
Vue2实时监听表单变化的示例讲解
2018/08/30 Javascript
vue中组件的3种使用方式详解
2019/03/23 Javascript
用Python编写一个基于终端的实现翻译的脚本
2015/04/24 Python
python UNIX_TIMESTAMP时间处理方法分析
2016/04/18 Python
Python中不同进制的语法及转换方法分析
2016/07/27 Python
Python使用迭代器捕获Generator返回值的方法
2017/04/05 Python
解决python3中解压zip文件是文件名乱码的问题
2018/03/22 Python
wxPython的安装与使用教程
2018/08/31 Python
python 解决flask uwsgi 获取不到全局变量的问题
2019/12/22 Python
python tkinter 设置窗口大小不可缩放实例
2020/03/04 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
Python Flask异步发送邮件实现方法解析
2020/08/01 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
2020/09/24 Python
美丽的珠宝配饰:SmallThings
2019/09/04 全球购物
还款承诺书范文
2014/05/20 职场文书
追讨欠款律师函
2015/06/24 职场文书
java设计模式--原型模式详解
2021/07/21 Java/Android