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 20 PHP
php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
Mar 23 PHP
PHP 反向排序和随机排序代码
Jun 30 PHP
PHP 验证码的实现代码
Jul 17 PHP
php json_encode奇怪问题说明
Sep 27 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
Feb 04 PHP
PHP魔术引号所带来的安全问题分析
Jul 15 PHP
PHP Yii框架之表单验证规则大全
Nov 16 PHP
在WordPress中实现发送http请求的相关函数解析
Dec 29 PHP
php文档工具PHP Documentor安装与使用方法
Jan 25 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
Apr 15 PHP
laravel框架查询数据集转为数组的两种方法
Oct 10 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图片处理类 phpThumb参数用法介绍
2012/03/11 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
PHP把MSSQL数据导入到MYSQL的方法
2014/12/27 PHP
php简单计算年龄的方法(周岁与虚岁)
2016/12/06 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
javascript 建设银行登陆键盘
2008/06/10 Javascript
javascript 写类方式之一
2009/07/05 Javascript
讨论javascript(一)工厂方式 js面象对象的定义方法
2009/12/15 Javascript
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
纯js写的分页表格数据为json串
2014/02/18 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
常用的JavaScript WEB操作方法分享
2015/02/28 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
nodejs6下使用koa2框架实例
2017/05/18 NodeJs
自制简易打赏功能的实例
2017/09/02 Javascript
ES6 javascript中Class类继承用法实例详解
2017/10/30 Javascript
vue脚手架搭建过程图解
2018/06/06 Javascript
node全局变量__dirname与__filename的区别
2019/01/14 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
原生js实现的移动端可拖动进度条插件功能详解
2019/08/15 Javascript
基于layui的下拉列表的数据回显方法
2019/09/24 Javascript
[02:43]DOTA2英雄基础教程 德鲁伊
2014/01/13 DOTA
[00:52]DOTA2国际邀请赛
2020/02/21 DOTA
python排序方法实例分析
2015/04/30 Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
2016/11/02 Python
python实现教务管理系统
2018/03/12 Python
解决Python中定时任务线程无法自动退出的问题
2019/02/18 Python
Python os模块常用方法和属性总结
2020/02/20 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
wedgwood加拿大官网:1759年成立的英国国宝级陶瓷餐具品牌
2018/07/17 全球购物
幼儿园家长会欢迎词
2014/01/09 职场文书
教学个人的自我评价分享
2014/02/16 职场文书
公司总经理工作职责管理办法
2014/02/28 职场文书
团日活动总结怎么写
2014/06/25 职场文书
法定代表人授权委托书格式
2014/10/14 职场文书
JavaScript ES6的函数拓展
2022/01/18 Javascript