Thinkphp5之ajax分页实现_paginate()参数详细
Thinkphp5 做数据搜索需要带关键词分页,如何将查询条件带入到分页中,本文详细介绍Thinkphp5 分页带参数
一、基本使用方法:
$list = Db::name('user')->where('status',1)->paginate(10);
二、查看thinkphp5 paginate()函数
paginate()函数可以带三个参数:
$listRows 每页数量 数组表示配置参数
$simple 是否简洁模式或者总记录数 如果为true,那么分页的就是只有上一页和下一页
$config 配置参数 具体可以自己传入或者在配置文件中配置
$config 参数具体配置
| 参数 | 描述 |
| list_rows | 每页数量 |
| page | 当前页 |
| path | url路径 |
| query | url额外参数 |
| fragment | url锚点 |
| var_page | 分页变量 |
| type | 分页类名 |
三、解决方案:
$list = Db::name('user')->where('status',1)->paginate(10,false,
[
'type' => 'Bootstrap',
'var_page' => 'page',
//使用jqery 无刷新分页
'path'=>'javascript:AjaxPage([PAGE]);'
//第一种方法,使用数组方式传入参数
'query' => ['keyword'=>$keyword],
// 第二种方法,使用函数助手传入参数
// 'query' => request()->param(),
]
);
使用时在html模板页相应位置放入{$list->render()}
<!-- 分页 -->
<div class="row">
<div id="result">
{$list->render()}
</div>
</div>
此时页面里会生成一个页码界面.
虽然方法很简单,但是存在一个问题,每次点击页面都要刷新,用户体验很不好,所以要在tp5原有分页类的基础上加一个ajax操作,直接上代码:
模板jquery_ajax代码:
<script>
var AjaxPage = function(page){
$.ajax({
url:'http://xxx/public/index.php/back/topic/ajaxList',
type:'post',
dataType:'json',
data: {apage:page},
success:function(data){
//console.log(data)
$("#result").html(data.page);
}
});
} </script>
控制器controller\Topic.php
//显示分类管理界面
public function listAction(){
$list = model('Topic')->paginate(10,false,[
'type' => 'Bootstrap',
'var_page' => 'page',
'path'=>'javascript:AjaxPage([PAGE]);',
//使用函数助手传入参数
'query' => request()->param(),
]);
// $res = $mem->getList();
$this->assign('list',$list);
return $this->fetch('list');
}
public function ajaxListAction(){
$page = request()->param('apage');
if (!empty($page)) {
$rel = model('topic')->paginate(10,false,[
'type' => 'Bootstrap',
'var_page' => 'page',
'page' => $page,
'path'=>'javascript:AjaxPage([PAGE]);',
]);
$page = $rel->render();
}
return json(['list'=>$rel,'page'=>$page]);
}
因为使用了模型方法,还要定义一个模型类model\Topic.php
<?php
/**
* Created by PhpStorm.
* User: houzhyan
* mail: houzhyan@126.com
* Locator: http://www.phpclass.top
* Date: 2017/10/23
* Time: 11:58
*/
namespace app\back\model; use think\Model; class Topic extends Model { }
测试结果:
Thinkphp5之ajax分页实现_paginate()参数详细的更多相关文章
- thinkphp5.0 ajax分页
放到 ***thinkphp\library\think\paginator\driver\Ajaxbootstrap.php 分页的type参数为ajaxbootstrap <?php/ ...
- JQuery中的AJAX参数详细介绍
Jquery中AJAX参数详细介绍 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方 ...
- 转载 Jquery中AJAX参数详细介绍
Jquery中AJAX参数详细列表: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方式 ...
- Jquery中AJAX参数详细(1)-转
http://www.cnblogs.com/qiufuwu618/archive/2012/12/20/2826190.html Jquery中AJAX参数详细列表: 参数名 类型 描述 url S ...
- Jquery中AJAX参数详细介绍
Jquery中AJAX参数详细列表: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方式 ...
- thinkphp5.0多条件模糊查询以及多条件查询带分页如何保留参数
1,多条件模糊查询 等于:map[‘id′]=array(‘eq′,100);不等于:map[‘id′]=array(‘eq′,100);不等于:map[‘id’] = array(‘neq’,100 ...
- [jQuery]jQuery DataTables插件自定义Ajax分页实现
前言 昨天在博客园的博问上帮一位园友解决了一个问题,我觉得有必要记录一下,万一有人也遇上了呢. 问题描述 园友是做前端的,产品经理要求他使用jQuery DataTables插件显示一个列表,要实现分 ...
- 精心挑选的12款优秀 jQuery Ajax 分页插件和教程
在这篇文章中,我为大家收集了12个基于 jQuery 框架的 Ajax 分页插件,这些插件都提供了详细的使用教程和演示.Ajax 技术的出现使得 Web 项目的用户体验有了极大的提高,如今借助优秀的 ...
- 转:精心挑选的12款优秀 jQuery Ajax 分页插件和教程
在这篇文章中,我为大家收集了12个基于 jQuery 框架的 Ajax 分页插件,这些插件都提供了详细的使用教程和演示.Ajax 技术的出现使得 Web 项目的用户体验有了极大的提高,如今借助优秀的 ...
随机推荐
- 解决vue 绑定事件会覆盖默认参数的问题
解决vue 绑定事件会覆盖默认参数的问题 在使用一些ui框架的时候,某些组件的框架中的事件所规定的参数不能满足实际开发的需要,但是直接传入参数会把默认的参数覆盖掉 解决方法:将参数放入箭头函数中,传递 ...
- HDOJ-1260(动态规划水题)
Tickets HDOJ-1260 #include<bits/stdc++.h> using namespace std; const int maxn=2003; int n; int ...
- Linux速通05 文件处理与编辑
使用 cat 命令进行文件的纵向合并 # 例:使用 cat 命令将 baby.age.baby.weight.baby.sex 这三个文件纵向合并为 baby文件 * cat baby.age bab ...
- RocketMQ安装配置过程
官网 官方网站:http://rocketmq.apache.org 下载源码包:https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.8.0/r ...
- 【docker】删除docker中的运行日志
docker inspect --format='{{.LogPath}}' 容器名称 |sudo xargs -i rm {}
- Linux开发环境搭建——deepin系统的使用
上大学的时候就在自己的笔记本上安装过深度操作系统(deepin),当时好像是15.x的版本.毕业后第一家公司是全Mac办公,因在学校期间有过完全Linux环境下的开发体验,上手Mac非常快.非常爽.前 ...
- AmazonS3 使用AWS SDK for Java实现跨源资源共享 (CORS)
CORS 配置 创建 CORS 配置并对存储桶设置该配置 通过添加规则来检索并修改配置 向存储桶添加修改过的配置 删除配置 import com.amazonaws.AmazonServiceExce ...
- 下载微软pdb符号文件
使用symchk.exe 逐层下载c:\windows\system32下的pdb文件 symchk /r c:\windows\system32 /s SRV*D:\mypdb\*http://m ...
- BUUCTF 基础CODE REVIEW
1.说明: 题目来自于BUUCTF 的基础部分,内容就如题,是一个代码审计.代码如下: <?php /** * Created by PhpStorm. * User: jinzhao * Da ...
- 基于阿里云托管kubernetes的版本升级
前言 因为阿里云的knative对应得k8s版本大于1.15,而我们目前得集群环境是1.14.8,因此需要对预发环境进行版本升级.基于aliyun托管的kubernetes集群版本升级本没有什么可写, ...