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代码
Feb 16 PHP
PHP中通过加号合并数组的一个简单方法分享
Jan 27 PHP
20个PHP常用类库小结
Sep 11 PHP
php数组函数序列之array_keys() - 获取数组键名
Oct 30 PHP
php中一个完整表单处理实现代码
Nov 10 PHP
php中用date函数获取当前时间有误的解决办法
Aug 02 PHP
二进制交叉权限微型php类分享
Feb 07 PHP
mac环境中使用brew安装php5.5.15
Aug 18 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
Jan 30 PHP
Yii 2中的load()和save()示例详解
Aug 03 PHP
Smarty缓存机制实例详解【三种缓存方式】
Jul 20 PHP
Laravel服务容器绑定的几种方法总结
Jun 14 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
destoon供应信息title调用出公司名称的方法
2014/08/22 PHP
yii2控制器Controller Ajax操作示例
2016/07/23 PHP
php正则表达式基本知识与应用详解【经典教程】
2017/04/17 PHP
Jquery乱码的一次解决过程 图解教程
2010/02/20 Javascript
xmlhttp缓存清除的2种解决方法
2013/12/13 Javascript
jquery合并表格中相同文本的相邻单元格
2015/07/17 Javascript
原生JS实现美图瀑布流布局赏析
2015/09/07 Javascript
JS实现动态生成表格并提交表格数据向后端
2020/11/25 Javascript
浅析创建javascript对象的方法
2016/05/13 Javascript
纯js实现手风琴效果代码
2020/04/17 Javascript
微信小程序 网络API Websocket详解
2016/11/09 Javascript
bootstrap datetimepicker日期插件使用方法
2017/01/13 Javascript
JavaScript满天星导航栏实现方法
2018/03/08 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
2018/08/13 Javascript
微信小程序实现页面浮动导航
2019/01/28 Javascript
vue 使用v-for进行循环的实例代码详解
2020/02/19 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
[50:22]完美盛典-2018年度红毯走秀
2018/12/16 DOTA
详解Python3中的Sequence type的使用
2015/08/01 Python
Python工程师面试必备25条知识点
2018/01/17 Python
Django之提交表单与前后端交互的方法
2019/07/19 Python
django基础学习之send_mail功能
2019/08/07 Python
如何基于python实现归一化处理
2020/01/20 Python
python中reload重载实例用法
2020/12/15 Python
Pandas之缺失数据的实现
2021/01/06 Python
KARATOV珠宝在线商店:俄罗斯珠宝品牌
2019/03/13 全球购物
先进党支部事迹材料
2014/01/13 职场文书
《太阳》教学反思
2014/02/21 职场文书
电台实习生求职信
2014/02/25 职场文书
企业管理毕业生求职信
2014/03/11 职场文书
就业推荐表自我鉴定
2014/03/21 职场文书
小学标准化建设汇报材料
2014/08/16 职场文书
个人总结与自我评价
2014/09/18 职场文书
2015年世界无烟日活动总结
2015/02/10 职场文书
《灰雀》教学反思
2016/02/19 职场文书
python基于机器学习预测股票交易信号
2021/05/25 Python