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 相关文章推荐
我的论坛源代码(八)
Oct 09 PHP
动态生成gif格式的图像要注意?
Oct 09 PHP
一个可以删除字符串中HTML标记的PHP函数
Oct 09 PHP
php下使用无限生命期Session的方法
Mar 16 PHP
PHP is_dir() 判断给定文件名是否是一个目录
May 10 PHP
第三章 php操作符与控制结构代码
Dec 30 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
Oct 10 PHP
PHP入门教程之面向对象基本概念实例分析
Sep 11 PHP
php实现博客,论坛图片防盗链的方法
Oct 15 PHP
Mac下php 5升级到php 7的步骤详解
Apr 26 PHP
php微信公众号开发之音乐信息
Oct 20 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
Oct 15 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学习之正则表达式
2011/04/17 PHP
thinkphp实现数组分页示例
2014/04/13 PHP
jquery 获取自定义属性(attr和prop)的实现代码
2012/06/27 Javascript
一张表格告诉你windows.onload()与$(document).ready()的区别
2014/05/16 Javascript
使用typeof方法判断undefined类型
2014/09/09 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
2016/02/25 Javascript
vue与bootstrap实现时间选择器的示例代码
2017/08/26 Javascript
详解JavaScript中的六种错误类型
2017/09/21 Javascript
vue在使用ECharts时的异步更新和数据加载详解
2017/11/22 Javascript
jquery 获取索引值在一定范围的列表方法
2018/01/25 jQuery
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
vue.js做一个简单的编辑菜谱功能
2018/05/08 Javascript
微信小程序常用简易小函数总结
2019/02/01 Javascript
jquery简单实现纵向的无缝滚动代码实例
2019/04/01 jQuery
重学JS 系列:聊聊继承(推荐)
2019/04/11 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS NE
2014/05/22 DOTA
Python的pycurl包用法简介
2015/11/13 Python
Vue的el-scrollbar实现自定义滚动
2018/05/29 Python
pygame游戏之旅 python和pygame安装教程
2018/11/20 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
2018/11/30 Python
python画双y轴图像的示例代码
2019/07/07 Python
简单了解python字符串前面加r,u的含义
2019/12/26 Python
Python pip 常用命令汇总
2020/10/19 Python
实例讲解CSS3中的box-flex弹性盒属性布局
2016/06/09 HTML / CSS
CSS3利用text-shadow属性实现多种效果的文字样式展现方法
2016/08/25 HTML / CSS
html5触摸事件判断滑动方向的实现
2018/06/05 HTML / CSS
Guess美国官网:美国知名服装品牌
2019/04/08 全球购物
巴西购物网站:Submarino
2020/01/19 全球购物
List、Map、Set三个接口,存取元素时,各有什么特点?
2015/09/27 面试题
家长对孩子评语
2014/01/30 职场文书
班级寄语大全
2014/04/10 职场文书
态度决定一切演讲稿
2014/05/20 职场文书
分公司任命书
2014/06/06 职场文书
创业计划书之面包店
2019/09/17 职场文书
python之django路由和视图案例教程
2021/07/26 Python
python区块链持久化和命令行接口实现简版
2022/05/25 Python