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生成月历代码
Jun 14 PHP
php和javascript之间变量的传递实现代码
Dec 19 PHP
PHP读取xml方法介绍
Jan 12 PHP
php之XML转数组函数的详解
Jun 07 PHP
php获取文件夹路径内的图片以及分页显示示例
Mar 11 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
Apr 30 PHP
PHP+jquery+ajax实现即时聊天功能实例
Dec 23 PHP
Laravel 5.3 学习笔记之 配置
Aug 28 PHP
PHP中in_array函数使用的问题与解决办法
Sep 11 PHP
Yii遍历行下每列数据的方法
Oct 17 PHP
PHP多线程模拟实现秒杀抢单
Feb 07 PHP
详解laravel passport OAuth2.0的4种模式
Nov 04 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
一个严格的PHP Session会话超时时间设置方法
2014/06/10 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
2014/07/29 PHP
php中session与cookie的比较
2015/01/27 PHP
PHP模拟asp.net的StringBuilder类实现方法
2015/08/08 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
2019/07/12 PHP
laravel5表单唯一验证的实例代码
2019/09/30 PHP
Laravel框架实现即点即改功能的方法分析
2019/10/31 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
javascript firefox兼容ie的dom方法脚本
2008/05/18 Javascript
jQuery ajax cache缓存问题
2010/07/01 Javascript
js中的值类型和引用类型小结 文字说明与实例
2010/12/12 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
2013/07/21 Javascript
jquery uploadify 在FF下无效的解决办法
2014/09/26 Javascript
Node.js批量给图片加水印的方法
2016/11/15 Javascript
详谈jQuery.load()和Jsp的include的区别
2017/04/12 jQuery
JS实现简易留言板增删功能
2020/02/08 Javascript
python中二维阵列的变换实例
2014/10/09 Python
Python读取网页内容的方法
2015/07/30 Python
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
调试Django时打印SQL语句的日志代码实例
2019/09/12 Python
详解在python操作数据库中游标的使用方法
2019/11/12 Python
python单向循环链表原理与实现方法示例
2019/12/03 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
2020/03/09 Python
电气技术员岗位职责
2013/11/19 职场文书
幼儿园家长会邀请函
2014/01/15 职场文书
环保建议书100字
2014/05/14 职场文书
入党积极分子个人总结
2015/03/02 职场文书
2015年银行大堂经理工作总结
2015/04/24 职场文书
投诉信范文
2015/07/02 职场文书
化工厂员工工作总结
2015/10/15 职场文书
九年级语文教学反思
2016/03/03 职场文书
详解MySQL 用户权限管理
2021/04/20 MySQL