thinkphp5 列表页数据分页查询2-带搜索条件
一、控制器部分
<?php namespace app\user\controller; use app\index\controller\Common;
use app\user\model\HelpCenterFeedback as HelpCenterFeedbackModel;
use org\Response;
use app\index\logic\Upload;
use think\Request;
use org\Ucenter;
use think\Db; /**
* 帮助中心意见反馈控制器
* Class Feedback
* @package app\user\controller
*/
class Feedback extends Common
{
/**
* 反馈列表数据
* @return array
*/
public function index(Request $request)
{
$page = $request->get('page', 1);//页数
$row = $request->get('row', 2);//每页数据
$keywords = $request->get('keywords', '');//搜索关键词
$source = $request->get('source', '0');//版本 0-用户端 1-企业端
//查询模型取数据
$feedback = new HelpCenterFeedbackModel();
$feedback->getList($page, $row, $keywords, $source);
//提取模型查询的数据
$total = $feedback->total;
$pages = $feedback->pages;
$list = $feedback->list;
$data = [
'total' => $total,//数据总量
'page' => $page,//当前页
'pages' => $pages,//总页数
'trainlist' => $list,//数据详情
];
return Response::response(0, $data);
} public function create()
{
//
} public function edit(Request $request,$id)
{
//
} /**
* 反馈列表状态修改
* @param $id
* @return array
*/
public function update(Request $request,$id)
{
$status = $request->put('status','');
if (empty($status) && $status != '0') {
return Response::response(1005, [], '操作状态错误');
}
$res= Db::table('qj_help_center_feedback')->where('id',$id)->update(['status'=>$status]);
if ($res === false) Response::response(1, '修改失败');
return Response::response(0, '修改成功');
} }
二、模型
<?php namespace app\user\model; use Helper\JobHelper;
use Helper\ResumeHelper;
use think\Model;
use think\Request;
use traits\model\SoftDelete;
use think\Db; /**
* 帮助中心模型
* Class Feedback
* @package app\user\model
*/
class HelpCenterFeedback extends Model
{
/**
* @param $page 页数
* @param $row 每页数据
* @param $keywords 搜索关键词
* @param $source 版本 0-用户端 1-企业端
*/
public function getList($page, $row, $keywords, $source)
{
$offset = ($page - 1) * $row;
$where = [];
if ($keywords) {
$where['a.user_account'] = [ 'like', $keywords . '%'];
}
//0用户端,1企业端
$where['source'] = $source?$source:0;
//统计总数
$total = Db::table('qj_help_center_feedback')->alias('a')
->join('qj_feedback_type t','a.type=t.id','left')
->where($where)
->order('a.id asc')
->count();
//查询列表信息
$list = Db::table('qj_help_center_feedback')->alias('a')->field('a.*,t.type')
->join('qj_feedback_type t','a.type=t.id','left')
->where($where)
->order('a.id asc')
->limit($offset, $row)
->select();
//处理状态和图片路径处理
foreach ($list as $key => &$val) {
//处理状态转换
if ($val['status'] == 0) {
$val['status'] = '待处理';
} elseif ($val['status'] == 1) {
$val['status'] = '已回访';
} else {
$val['status'] = '忽略';
}
//图片path路径转oss路径
$img_arrs = [];
if ($val['img'] !='') {
$img_arr = explode(',',$val['img']);
foreach($img_arr as $k=>$v){
$img_arrs[$k]=get_image_url($v);
}
$list[$key]['img']=$img_arrs;
}
}
$this->pages = ceil($total / $row);
$this->list = $list;
$this->total = $total;
}
}
路由定义参考如下(这里定义的是资源路由)
return [
'__pattern__' => [
'name' => '\w+',
],
'/error' => 'index/error/index',//错误页面
'__rest__' => [
'user/feedback'=>'user/feedback',//帮助中心-意见反馈-用户端 ]
];
请求数据

数据如下
Status: 200 OK Time: 683 ms
{
"code": 0,
"message": "success",
-"data": {
"total": 25,
"page": "1",
"pages": 13,
-"trainlist": [
-{
"id": 51,
"user_account": "17076611177",
"version": "PC_3.0.0",
"type": "优化建议",
"content": "这些健议优化一下",
"addtime": "2018-05-11 09:22:43",
"status": "忽略",
"source": 0,
-"img": [
"http://zcplant1.oss-cn-shenzhen.aliyuncs.com/user/20180511/ddb5254c9dc2d65ec60cb377039c5a06.jpg",
"http://zcplant1.oss-cn-shenzhen.aliyuncs.com/user/20180511/ddb5254c9dc2d65ec60cb377039c5a06.jpg",
"http://zcplant1.oss-cn-shenzhen.aliyuncs.com/user/20180511/ddb5254c9dc2d65ec60cb377039c5a06.jpg"
]
},
-{
"id": 52,
"user_account": "17076611177",
"version": "PC_3.0.0",
"type": "优化建议",
"content": "123",
"addtime": "2018-05-11 14:49:17",
"status": "待处理",
"source": 0,
-"img": [
"http://zcplant1.oss-cn-shenzhen.aliyuncs.com/user/20180511/ddb5254c9dc2d65ec60cb377039c5a06.jpg"
]
}
]
}
}
thinkphp5 列表页数据分页查询2-带搜索条件的更多相关文章
- thinkphp5 列表页数据分页查询3-带搜索条件
先加载模板然后在前端HTML页面请求数据 /** * 加载列表页模板 * @author 冯广福 */ public function index() { LogWriteService::write ...
- thinkphp5 列表页数据分页查询-带搜索条件
一.控制器部分 <?php namespace app\user\controller; use app\user\model\HelpCenterManual as HelpCenterMan ...
- 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数据库里查询所需数据. ...
- MySql数据库列表数据分页查询、全文检索API零代码实现
数据条件查询和分页 前面文档主要介绍了元数据配置,包括表单定义和表关系管理,以及表单数据的录入,本文主要介绍数据查询和分页在crudapi中的实现. 概要 数据查询API 数据查询主要是指按照输入条件 ...
随机推荐
- if-else和while循环
用户登陆验证: if-else 判断 #!/usr/bin/env python # -*-coding:utf-8 -*- import getpass passwd=' name='sunhao' ...
- Asp.Net MVC3.0中防止跨站的POST
在Form中添加 @Html.AntiForgeryToken(); 在后台的Action中增加 [ValidateAntiForgeryToken] 这个方法还可以添加自定义的参数 @Html.An ...
- 记第十四届省赛参赛体会&第十三届
emmm....时间还是很久远了 还是流水账 这次比赛我还是挺开心的 因为感觉我们余神就是一把宝剑,然后我是她的Buff 前面四道题就挺顺利都1A过了,十年余神就是强无敌呀 最后两分钟过了第五题,银牌 ...
- Spring Boot 揭秘与实战(二) 数据存储篇 - 声明式事务管理
文章目录 1. 声明式事务 2. Spring Boot默认集成事务 3. 实战演练4. 源代码 3.1. 实体对象 3.2. DAO 相关 3.3. Service 相关 3.4. 测试,测试 本文 ...
- Tail Recusive
1.尾递归 double f(double guess){ if (isGoodEnough(guess)) return guess; else return f(improve(guess)); ...
- java ip 正则表达式
private static boolean isBoolIp(String ipAddress) { String ip = "(?:(?:25[0-5]|2[0-4][0-9]|[01] ...
- make clean,make distclean与make depend的区别
make clean仅仅是清除之前编译的可执行文件及配置文件. 而make distclean要清除所有生成的文件. Makefile 在符合GNU Makefiel惯例的Makefile中,包含了一 ...
- ZOJ - 4082:Little Sub and his Geometry Problem (双指针)
Little Sub loves math very much, and has just come up with an interesting problem when he is working ...
- .net core 微服务架构-docker的部署-包括网关服务(Ocelot)+认证服务(IdentityServer4)+应用服务(asp.net core web api)
本文主要介绍通过Docker来部署通过.Net Core开发的微服务架构,部署的微服务主要包括统一网关(使用Ocelot开发).统一认证(IdentityServer4).应用服务(asp.net c ...
- 20165313 《Java程序设计》第二周学习总结
教材学习总结 这周我主要学习了教材上的二,三两章.其基本内容就是数据与语句的表达与基本的运用.其中重点要理解并掌握的是: 1.Scanner的运用:利用该类创建对象就可以完成要求用户输入这一要求.类似 ...