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安装攻略:常见问题解答(一)
Oct 09 PHP
PHP日期处理函数 整型日期格式
Jan 12 PHP
在wamp集成环境下升级php版本(实现方法)
Jul 01 PHP
更改localhost为其他名字的方法
Feb 10 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
Jul 01 PHP
php+ajax实现无刷新动态加载数据技术
Apr 28 PHP
php轻量级的性能分析工具xhprof的安装使用
Aug 12 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
Dec 10 PHP
PHP7多线程搭建教程
Apr 21 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
Oct 18 PHP
PHP基于GD2函数库实现验证码功能示例
Jan 27 PHP
Yii框架视图、视图布局、视图数据块操作示例
Oct 14 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
PHP5.0对象模型探索之抽象方法和抽象类
2006/09/05 PHP
微信自定义菜单的处理开发示例
2015/04/16 PHP
php搜索文件程序分享
2015/10/30 PHP
PHP 闭包详解及实例代码
2016/09/28 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
PHP 命名空间和自动加载原理与用法实例分析
2020/04/29 PHP
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
jQuery+css实现图片滚动效果(附源码)
2013/03/18 Javascript
JQuery的Ajax跨域请求原理概述及实例
2013/04/26 Javascript
利用jQuary实现文字浮动提示效果示例代码
2013/12/26 Javascript
批量修改标签css样式以input标签为例
2014/07/31 Javascript
angularJS提交表单(form)
2015/02/09 Javascript
EasyUI学习之DataGird分页显示数据
2016/12/29 Javascript
原生JavaScript实现AJAX、JSONP
2017/02/07 Javascript
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
vue element ui validate 主动触发错误提示操作
2020/09/21 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
python写入xml文件的方法
2015/05/08 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
2018/01/04 Python
详解Django中六个常用的自定义装饰器
2018/07/04 Python
python求最大值最小值方法总结
2019/06/25 Python
python找出因数与质因数的方法
2019/07/25 Python
Django命名URL和反向解析URL实现解析
2019/08/09 Python
Tensorflow实现在训练好的模型上进行测试
2020/01/20 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
python调用百度AI接口实现人流量统计
2021/02/03 Python
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
main 函数执行以前,还会执行什么代码
2013/04/17 面试题
市场专员岗位职责
2014/02/14 职场文书
副处级干部考察材料
2014/05/17 职场文书
乡镇机关党员民主评议表自我评价
2014/09/21 职场文书
员工考勤管理制度
2015/08/06 职场文书
2016入党心得体会范文
2016/01/06 职场文书
创业计划书之冷饮店
2019/09/27 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python
mysql的单列多值存储实例详解
2022/04/05 MySQL