thinkphp5 列表页数据分页查询-带搜索条件
一、控制器部分
<?php namespace app\user\controller; use app\user\model\HelpCenterManual as HelpCenterManualModel;
use org\Response;
use app\index\logic\Upload;
use think\Controller;
use think\Request;
use org\Ucenter;
use think\Db; /**
* 帮助中心使用手册控制器
* Class Manual
* @package app\user\controller
* @author fgf <2018-05-11>
*/
class Manual extends Controller
{
/**
* 列表数据
* @return array
*/
public function index(Request $request)
{
$page = $request->get('page', 1);//页数
$row = $request->get('row', 2);//每页数据
$source = $request->get('source', '');//版本 0-用户端 1-企业端
//查询模型取数据
$manual = new HelpCenterManualModel();
$manual->getList($page, $row, $source);
//提取模型查询的数据
$total = $manual->total;
$pages = $manual->pages;
$list = $manual->list;
$data = [
'total' => $total,//总的数据量
'page' => $page,//当前页
'pages' => $pages,//总页数
'trainlist' => $list,//每条数据详情
];
return Response::response(0, $data);
} public function create()
{
//
} public function save(Request $request)
{
//
} /**
* 详情页数据
* @param $id
* @table qj_help_center_manual 使用手册表
* @return array
*/
public function read($id)
{
$info = Db::table('qj_help_center_manual')->where('id',$id)->find();
if (empty($info)) return Response::response(1,[],'数据为空');
//图片路径转oss路径
if (!empty($info['img'])) {
$info['oss_img'] = get_image_url($info['img']);
}else{
$info['oss_img'] = '';
} return Response::response(0,$info);
} public function edit($id)
{ } public function update($id)
{
//
} public function delete($id)
{
//
}
}
二、模型代码
<?php namespace app\user\model; use think\Model;
use think\Request;
use think\Db; /**
* 帮助中心常见问题模型
* Class HelpCenterManual
* @package app\user\model
* @author fgf <2018-05-11>
*/
class HelpCenterManual extends Model
{
/**
* @param $page 页数
* @param $row 每页数据
* @param $source 版本 0-用户端 1-企业端
*/
public function getList($page, $row, $source)
{
$offset = ($page - 1) * $row;
$where = [];
//0用户端,1企业端
$where['source'] = $source?$source:0;
//统计总数
$total = Db::table('qj_help_center_manual')->where($where)->count();
//查询列表信息
$list = Db::table('qj_help_center_manual')->where($where)->order('id asc')->limit($offset, $row)->select();
//处理状态和图片路径处理
foreach ($list as $key => &$val) {
//图片path路径转oss路径
if ($val['img'] !='') {
$list[$key]['img']=get_image_url($val['img']);
}
}
$this->pages = ceil($total / $row);
$this->list = $list;
$this->total = $total;
}
}
三、路由定义-此处定义的是资源路由(根据实际情况自己定义)
return [
'__pattern__' => [
'name' => '\w+',
],
'/error' => 'index/error/index',//错误页面
'__rest__' => [ 'user/manual'=>'user/manual',//帮助中心-使用手册
]
];
四、请求数据参考如下

{
"code": 0,
"message": "success",
-"data": {
"total": 2,
"page": "1",
"pages": 2,
-"trainlist": [
-{
"id": 4,
"title": "React的平凡之路",
"guide_read": "React的平凡之路,或许我们才刚刚上路",
"content": "<h1 style=\"font-size: 2.5rem;margin: 0.67em 0px;line-height: 1.5;color: rgb(51, 51, 51);font-family: -apple-system, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Arial, sans-serif;white-space: normal;background-color: rgb(255, 255, 255)\">React的平凡之路,或许我们才刚刚上路</h1><h2 style=\"line-height: 1.5;margin-top: 35px;margin-bottom: 10px;padding-bottom: 12px;font-size: 24px;border-bottom: 1px solid rgb(236, 236, 236)\">大家一起来</h2><p style=\"line-height: inherit;margin-top: 22px;margin-bottom: 22px\">React是一个用于构建用户界面的JS库,核心专注于视图,目的实现组件化开发</p><p style=\"line-height: inherit;margin-top: 22px;margin-bottom: 22px\">所谓组件化开发,其实就像堆积木一样,每个组件都包含了自己的逻辑和样式,然后再组合到一起完成一个复杂的页面</p><p style=\"line-height: inherit;margin-top: 22px;margin-bottom: 22px\">组件化的主要特点就是:<span style=\"font-weight: 700\">可组合、可复用、可维护</span></p><p style=\"line-height: inherit;margin-top: 22px;margin-bottom: 22px\">那么废话不多说,让我们直接进入今天的主题,运用官方推荐的脚手架来搭建一个react项目开始学习吧</p><h2 style=\"line-height: 1.5;margin-top: 35px;margin-bottom: 10px;padding-bottom: 12px;font-size: 24px;border-bottom: 1px solid rgb(236, 236, 236)\">create-react-app启动react项目</h2><p style=\"line-height: inherit;margin-top: 22px;margin-bottom: 22px\">第一步:<span style=\"font-weight: 700\">全局安装create-react-app</span>脚手架</p><pre style=\"font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;font-size: 1em;line-height: 1.75;overflow: auto;position: relative\">npm i create-react-app -g</pre><p style=\"line-height: inherit;margin-top: 22px;margin-bottom: 22px\">第二步:创建react项目</p><pre style=\"font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;font-size: 1em;line-height: 1.75;overflow: auto;position: relative\">create-react-app 项目名 // 如:create-react-app react123</pre><p style=\"line-height: inherit;margin-top: 22px;margin-bottom: 22px\"><br/></p><p><img class=\"lazyload inited loaded\" src=\"https://user-gold-cdn.xitu.io/2018/5/9/163407dd81313cce?imageView2/0/w/1280/h/960/format/webp/ignore-error/1\"/>通过以上操作就会自动创建一个名为react123的react项目了,在创建的过程中,脚手架会自动为你安好react的核心包,<span style=\"font-weight: 700\">react和react-dom</span>,在此过程完成后即可进入第三步了</p><p style=\"line-height: inherit;margin-top: 22px;margin-bottom: 22px\"><br/></p><p style=\"line-height: inherit;margin-top: 22px;margin-bottom: 22px\">第三步:进入项目并启动服务</p><pre style=\"font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;font-size: 1em;line-height: 1.75;overflow: auto;position: relative\">cd react123 && npm start</pre><p style=\"line-height: inherit;margin-top: 22px;margin-bottom: 22px\"><br/></p><p><img class=\"lazyload inited loaded\" src=\"https://user-gold-cdn.xitu.io/2018/5/9/16340810d2abf3e1?imageView2/0/w/1280/h/960/format/webp/ignore-error/1\"/>通过上面的三步曲,就会自动弹出浏览器访问一个<span style=\"font-weight: 700\">localhost:3000</span>(默认为3000端口)的react页面了</p><p style=\"line-height: inherit;margin-top: 22px;margin-bottom: 22px\"><br/></p><p style=\"line-height: inherit;margin-top: 22px;margin-bottom: 22px\">现在,让我们通过进入创建好的react项目中,先去看一下搭建好的结构是什么样的?</p><p style=\"line-height: inherit;margin-top: 22px;margin-bottom: 22px\">下面就为大家展示一番:</p><p><img class=\"lazyload inited loaded\" src=\"https://user-gold-cdn.xitu.io/2018/5/9/163408396ca911f1?imageView2/0/w/1280/h/960/format/webp/ignore-error/1\"/>根据上图画圈所示,public目录下的index.html表示的是项目的主静态文件(包含依赖的节点),打开后发现一大堆内容,其实都可以删掉,只需要留一个root即可</p><p style=\"line-height: inherit;margin-top: 22px;margin-bottom: 22px\"><br/></p><pre style=\"font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;font-size: 1em;line-height: 1.75;overflow: auto;position: relative\"><!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="theme-color" content="#000000"> <link rel="manifest" href="%PUBLIC_URL%/manifest.json"> <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico"> <title>React App</title> </head> <body> <div id="root"></div> </body> </html></pre><p style=\"line-height: inherit;margin-top: 22px;margin-bottom: 22px\">说完public后,再说一下src目录,这里面的文件也都可以删掉(除了<span style=\"font-weight: 700\">index.js</span>主入口文件),这里就和webpack4里默认的入口文件比较类似了</p><p><br/></p>",
"img": null,
"addtime": "2018-05-14 17:57:12",
"user_id": null,
"username": "admin",
"source": 1
}
]
}
}
thinkphp5 列表页数据分页查询-带搜索条件的更多相关文章
- thinkphp5 列表页数据分页查询3-带搜索条件
先加载模板然后在前端HTML页面请求数据 /** * 加载列表页模板 * @author 冯广福 */ public function index() { LogWriteService::write ...
- thinkphp5 列表页数据分页查询2-带搜索条件
一.控制器部分 <?php namespace app\user\controller; use app\index\controller\Common; use app\user\model\ ...
- python实现列表页数据的批量抓取练手练手的
python实现列表页数据的批量抓取,练手的,下回带分页的 #!/usr/bin/env python # coding=utf-8 import requests from bs4 import B ...
- Oracle、MySql、SQLServer 数据分页查询
最近简单的对oracle,mysql,sqlserver2005的数据分页查询作了研究,把各自的查询的语句贴出来供大家学习..... (一). mysql的分页查询 mysql的分页查询是最简单的,借 ...
- 织梦仿站列表页pagelist分页显示竖排,如何修改成横排?
织梦仿站列表页pagelist分页显示竖排,如何修改成横排? 织梦列表页的分页标签是采用pagelist来进行调用的,但是很多人在调用之后会出现一个列表竖着排列的问题(横排美观度好一些),还是非常不美 ...
- 转Oracle、MySql、SQLServer 数据分页查询
最近简单的对oracle,mysql,sqlserver2005的数据分页查询作了研究,把各自的查询的语句贴出来供大家学习..... (一). mysql的分页查询 mysql的分页查询是最简单的,借 ...
- Oracle、MySql、SQLServer数据分页查询
看过此博文后Oracle.MySql.SQLServer 数据分页查询,在根据公司的RegionRes表格做出了 SQLserver的分页查询语句: 别名.字段 FROM( SELECT row_nu ...
- [.NET] SQL数据分页查询
[.NET] SQL数据分页查询 程序下载 范例下载:点此下载 原始码下载:点此下载 NuGet封装:点此下载 数据查询 开发系统时,使用C#执行SQL查询指令,就可以从SQL数据库里查询所需数据. ...
- Django自定义分页并保存搜索条件
Django自定义分页并保存搜索条件 1.自定义分页组件pagination.py import copy class Pagination: def __init__(self, current_p ...
随机推荐
- MVC扩展之HtmlHelper辅助方法
1.什么是HtmlHelper辅助方法?其实就是HtmlHelper类的扩展方法,如下所示: namespace System.Web.Mvc.Html { public static class F ...
- 中文字符utf-8编码原则
UTF-8是一种变长字节编码方式.对于某一个字符的UTF-8编码,如果只有一个字节则其最高二进制位为0:如果是 多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的位数,其余各字 ...
- outlook vba开发要点
1.学学基础的VB语法 https://www.yiibai.com/vba/vba_programming_charts.html 2.找一个样例看看 VBA编程实现自动回复邮件 https://b ...
- 大数据-02-Scala入门
Scala 简介 它是一门基于JVM的面向函数和面向对象的编程语言, 它包含了求值表达式,闭包,切片操作,模式匹配,隐式转换等特性. 可变量/不可变量 可变集合/不可变集合.集合操作 函数 值函数 求 ...
- ORA-15025 搭建DG环境,restore controlfile报错,提示oracle无法使用ASM存储
环境说明: #主库RAC环境 #备库RAC环境,操作系统AIX 6.1 数据库版本11.2.0.3 报错说明: #主库备份控制文件,传输至备库,备库restore 报错 本篇文档,分为两大阶段:第一阶 ...
- java的InputStream和OutputStream的理解
注:参考链接:http://www.cnblogs.com/springcsc/archive/2009/12/03/1616187.html 1.在java中stream代表一种数据流(源),jav ...
- xdoj 1067组合数学+动态规划 (一个题断断续续想了半年 233)
题目分析 : (8 4) 可以由(7 4),(6,4),( 4,4) 基础上转化 意味着一个新加入的元素可以按照它加入的方式分类,从而实现动态规划 核心:加入方式 新加入的元素构成转换环的元素个数(n ...
- 《DSP using MATLAB》Problem 6.1
今早不知道怎么5点就醒了,起来喝了口水,走到阳台,看看窗外,远处高楼上也有灯亮着,也许已经开始新的一天. 今天开始第6章了,继续努力.
- linux---文件颜色含义
下面是linux系统约定不同类型文件默认的颜色: 白色:表示普通文件 蓝色:表示目录 绿色:表示可执行文件 红色:表示压缩文件 浅蓝色:链接文件 红色闪烁:表示链接的文件有问题 黄色:表示设备文件 灰 ...
- eventEmitter
wade-mac:fin_server_invest mac$ node > var events =require('events') undefined > var eventEmit ...