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 相关文章推荐
一个用mysql_odbc和php写的serach数据库程序
Oct 09 PHP
php下实现在指定目录搜索指定类型文件的函数
Oct 03 PHP
php学习笔记之面向对象编程
Dec 29 PHP
windows7下安装php的php-ssh2扩展教程
Jul 04 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
Aug 04 PHP
php中运用http调用的GET和POST方法示例
Sep 29 PHP
php实现微信公众号无限群发
Oct 11 PHP
Zend Framework基本页面布局分析
Mar 19 PHP
PHP抓取远程图片(含不带后缀的)教程详解
Oct 21 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
May 29 PHP
thinkphp5.1框架容器与依赖注入实例分析
Jul 23 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 设计模式之 工厂模式
2008/12/19 PHP
PHP游戏编程25个脚本代码
2011/02/08 PHP
PHP内核介绍及扩展开发指南―基础知识
2011/09/11 PHP
解析Extjs与php数据交互(增删查改)
2013/06/25 PHP
PHP调用wsdl文件类型的接口代码分享
2014/11/19 PHP
php通过分类列表产生分类树数组的方法
2015/04/20 PHP
PHP实现的限制IP投票程序IP来源分析
2016/05/04 PHP
精通Javascript系列之Javascript基础篇
2011/06/07 Javascript
js异常捕获方法介绍
2013/04/10 Javascript
利用cookie记住背景颜色示例代码
2013/11/04 Javascript
Javascript中的Array数组对象详谈
2014/03/03 Javascript
用js提交表单解决一个页面有多个提交按钮的问题
2014/09/01 Javascript
Node.js 学习笔记之简介、安装及配置
2015/03/03 Javascript
高性能JavaScript 重排与重绘(2)
2015/08/11 Javascript
JS实现淡蓝色简洁竖向Tab点击切换效果
2015/10/06 Javascript
vue cli 3.0 使用全过程解析
2018/06/14 Javascript
vue和webpack打包项目相对路径修改的方法
2018/06/15 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
2018/10/23 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
手把手教你使用TypeScript开发Node.js应用
2019/05/06 Javascript
jQuery实现的上拉刷新功能组件示例
2020/05/01 jQuery
在Vue中获取自定义属性方法:data-id的实例
2020/09/09 Javascript
Python导出DBF文件到Excel的方法
2015/07/25 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
python3中布局背景颜色代码分析
2020/12/01 Python
HTML5实现的震撼3D焦点图动画的示例代码
2019/09/26 HTML / CSS
出纳岗位职责模板
2013/11/27 职场文书
办公室助理岗位职责
2013/12/25 职场文书
个人简历中的自我评价怎么写
2014/01/26 职场文书
2015年元宵节活动总结
2015/02/06 职场文书
学术会议通知
2015/04/15 职场文书
企业安全生产检查制度
2015/08/06 职场文书
2019财务毕业实习报告
2019/06/27 职场文书
mongodb数据库迁移变更的解决方案
2021/09/04 MongoDB
解决spring.thymeleaf.cache=false不起作用的问题
2022/06/10 Java/Android
SpringBoot项目部署到阿里云服务器的实现步骤
2022/06/28 Java/Android