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 相关文章推荐
打造计数器DIY三步曲(下)
Oct 09 PHP
基于mysql的论坛(7)
Oct 09 PHP
php中目录,文件操作详谈
Mar 19 PHP
PHP应用JSON技巧讲解
Feb 03 PHP
浅析php学习的路线图
Jul 10 PHP
php的SimpleXML方法读写XML接口文件实例解析
Jun 16 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
Sep 22 PHP
PHP导入导出Excel代码
Jul 07 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
Nov 20 PHP
mac系统下安装多个php并自由切换的方法详解
Apr 21 PHP
php使用ftp实现文件上传与下载功能
Jul 21 PHP
laravel 判断查询数据库返回值的例子
Oct 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
虫族 ZERG 概述
2020/03/14 星际争霸
一个简单计数器的源代码
2006/10/09 PHP
弄了个检测传输的参数是否为数字的Function
2006/12/06 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
2013/10/29 PHP
linux下使用crontab实现定时PHP计划任务失败的原因分析
2014/07/05 PHP
PHP图片加水印实现方法
2016/05/06 PHP
PHP getNamespaces()函数讲解
2019/02/03 PHP
用正则xmlHttp实现的偷(转)
2007/01/22 Javascript
ext form 表单提交数据的方法小结
2008/08/08 Javascript
js实现简单模态窗口,背景灰显
2008/11/14 Javascript
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
DWZ table的原生分页浅谈
2013/03/01 Javascript
javascript实时获取鼠标坐标值并显示的方法
2015/04/30 Javascript
JS使用正则表达式除去字符串中重复字符的方法
2015/11/05 Javascript
基于canvas实现的钟摆效果完整实例
2016/01/26 Javascript
vue 2.0项目中如何引入element-ui详解
2017/09/06 Javascript
微信小程序异步处理详解
2017/11/10 Javascript
老生常谈JS中的继承及实现代码
2018/07/06 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
jQuery判断自定义属性data-val用法示例
2019/01/07 jQuery
python中getaddrinfo()基本用法实例分析
2015/06/28 Python
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
Python读取word文本操作详解
2018/01/22 Python
Linux下多个Python版本安装教程
2018/08/15 Python
PyQt+socket实现远程操作服务器的方法示例
2019/08/22 Python
python实现复制大量文件功能
2019/08/31 Python
python KNN算法实现鸢尾花数据集分类
2019/10/24 Python
利用python绘制正态分布曲线
2021/01/04 Python
电气自动化个人求职信范文
2014/02/03 职场文书
医院反腐倡廉演讲稿
2014/09/16 职场文书
校长师德师风自我剖析材料
2014/09/29 职场文书
保研推荐信范文
2015/03/25 职场文书
百年孤独读书笔记
2015/06/29 职场文书
高中生物教学反思
2016/02/20 职场文书
一文搞懂Python Sklearn库使用
2021/08/23 Python
python中使用 unittest.TestCase单元测试的用例详解
2021/08/30 Python