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的header和asp中的redirect比较
Oct 09 PHP
php中文字母数字验证码实现代码
Apr 25 PHP
40个迹象表明你还是PHP菜鸟
Sep 29 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
May 06 PHP
php实现快速排序的三种方法分享
Mar 12 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
Oct 08 PHP
php视频拍照上传头像功能实现代码分享
Oct 08 PHP
Symfony2学习笔记之系统路由详解
Mar 17 PHP
php面向对象值单例模式
May 03 PHP
PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】
Dec 24 PHP
提高Laravel应用性能方法详解
Jun 24 PHP
用Laravel轻松处理千万级数据的方法实现
Dec 25 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
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
phpmyadmin中禁止外网使用的方法
2014/11/04 PHP
图文介绍PHP添加Redis模块及连接
2015/07/28 PHP
php简单实现批量上传图片的方法
2016/05/09 PHP
你不知道的文件上传漏洞php代码分析
2016/09/29 PHP
javascript读取RSS数据
2007/01/20 Javascript
Javascript 通过json自动生成Dom的代码
2010/04/01 Javascript
过虑特殊字符输入的js代码
2010/08/05 Javascript
在浏览器中获取当前执行的脚本文件名的代码
2011/07/19 Javascript
js函数调用的方式
2014/05/06 Javascript
js自定义鼠标右键的实现原理及源码
2014/06/23 Javascript
js使用心得分享
2015/01/13 Javascript
jQuery中ready事件用法实例
2015/01/19 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
2015/08/14 Javascript
jQuery多条件筛选如何实现
2015/11/04 Javascript
Bootstrap开发实战之第一次接触Bootstrap
2016/06/02 Javascript
jQuery Ajax页面局部加载方法汇总
2016/06/02 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
2016/07/07 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
详细讲解vue2+vuex+axios
2017/05/27 Javascript
详解使用jQuery.i18n.properties实现js国际化
2018/05/04 jQuery
微信开发之企业付款到银行卡接口开发的示例代码
2018/09/18 Javascript
浅入深出Vue之自动化路由
2019/08/06 Javascript
Python实现115网盘自动下载的方法
2014/09/30 Python
Python实现TCP协议下的端口映射功能的脚本程序示例
2016/06/14 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
python matplotlib.pyplot.plot()参数用法
2020/04/14 Python
python中数字是否为可变类型
2020/07/08 Python
python爬取招聘要求等信息实例
2020/11/20 Python
美国亚马逊旗下男装网站:East Dane(支持中文)
2019/09/25 全球购物
2015年度环卫处工作总结
2015/07/24 职场文书
2016年七夕爱情寄语
2015/12/04 职场文书
倡议书怎么写?
2019/04/11 职场文书
python 机器学习的标准化、归一化、正则化、离散化和白化
2021/04/16 Python
Go语言基础知识点介绍
2021/07/04 Golang
纯 CSS 自定义多行省略的问题(从原理到实现)
2021/11/11 HTML / CSS