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
cache_lite试用
Feb 14 PHP
打造超酷的PHP数据饼图效果实现代码
Nov 23 PHP
shopex主机报错误请求解决方案(No such file or directory)
Dec 27 PHP
phpmail类发送邮件函数代码
Feb 20 PHP
解析使用substr截取UTF-8中文字符串出现乱码的问题
Jun 20 PHP
更改localhost为其他名字的方法
Feb 10 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
Mar 19 PHP
PHP生成制作验证码的简单实例
Jun 12 PHP
php实现的http请求封装示例
Nov 08 PHP
PHP-FPM的配置与优化讲解
Mar 15 PHP
PHP 实现文件压缩解压操作的方法
Jun 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
日本十大最佳动漫,全都是二次元的神级作品
2019/10/05 日漫
php数字转汉字代码(算法)
2011/10/08 PHP
探讨php define()函数及defined()函数使用详解
2013/06/09 PHP
php获取错误信息的方法
2015/07/17 PHP
Laravel 5.5 实现禁用用户注册示例
2019/10/24 PHP
Extjs中ComboBox加载并赋初值的实现方法
2012/03/22 Javascript
JS/jQuery实现默认显示部分文字点击按钮显示全部内容
2013/05/13 Javascript
jQuery处理xml格式的返回数据(实例解析)
2013/11/28 Javascript
jQuery中:only-child选择器用法实例
2015/01/03 Javascript
JavaScript动态修改背景颜色的方法
2015/04/16 Javascript
简介JavaScript中toUpperCase()方法的使用
2015/06/06 Javascript
js简单工厂模式用法实例
2015/06/30 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
基于javascript实现随机颜色变化效果
2016/01/14 Javascript
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
vue-cli入门之项目结构分析
2017/04/20 Javascript
Angular 如何使用第三方库的方法
2018/04/18 Javascript
详解Vue2 添加对scss的支持
2019/01/02 Javascript
通过js随机函数Math.random实现乱序
2020/05/19 Javascript
Python中扩展包的安装方法详解
2017/06/14 Python
使用django-crontab实现定时任务的示例
2018/02/26 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
安装Pycharm2019以及配置anconda教程的方法步骤
2019/11/11 Python
Flask中endpoint的理解(小结)
2019/12/11 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
Python安装并操作redis实现流程详解
2020/10/13 Python
Ajax的优点和缺点
2014/11/21 面试题
WebSphere面试题:在WebSphere里面如何部署一个应用
2015/08/02 面试题
秋季运动会广播稿
2014/02/22 职场文书
环保倡议书100字
2014/05/15 职场文书
总经理助理岗位职责范本
2015/03/31 职场文书
PHP 对接美团大众点评团购券(门票)的开发步骤
2021/04/03 PHP
解决Navicat for Mysql连接报错1251的问题(连接失败)
2021/05/27 MySQL
Python爬虫实战之爬取京东商品数据并实实现数据可视化
2021/06/07 Python
浅谈MySQL表空间回收的正确姿势
2021/10/05 MySQL
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA