一、控制器部分

<?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-带搜索条件的更多相关文章

  1. thinkphp5 列表页数据分页查询3-带搜索条件

    先加载模板然后在前端HTML页面请求数据 /** * 加载列表页模板 * @author 冯广福 */ public function index() { LogWriteService::write ...

  2. thinkphp5 列表页数据分页查询-带搜索条件

    一.控制器部分 <?php namespace app\user\controller; use app\user\model\HelpCenterManual as HelpCenterMan ...

  3. python实现列表页数据的批量抓取练手练手的

    python实现列表页数据的批量抓取,练手的,下回带分页的 #!/usr/bin/env python # coding=utf-8 import requests from bs4 import B ...

  4. Oracle、MySql、SQLServer 数据分页查询

    最近简单的对oracle,mysql,sqlserver2005的数据分页查询作了研究,把各自的查询的语句贴出来供大家学习..... (一). mysql的分页查询 mysql的分页查询是最简单的,借 ...

  5. 织梦仿站列表页pagelist分页显示竖排,如何修改成横排?

    织梦仿站列表页pagelist分页显示竖排,如何修改成横排? 织梦列表页的分页标签是采用pagelist来进行调用的,但是很多人在调用之后会出现一个列表竖着排列的问题(横排美观度好一些),还是非常不美 ...

  6. 转Oracle、MySql、SQLServer 数据分页查询

    最近简单的对oracle,mysql,sqlserver2005的数据分页查询作了研究,把各自的查询的语句贴出来供大家学习..... (一). mysql的分页查询 mysql的分页查询是最简单的,借 ...

  7. Oracle、MySql、SQLServer数据分页查询

    看过此博文后Oracle.MySql.SQLServer 数据分页查询,在根据公司的RegionRes表格做出了 SQLserver的分页查询语句: 别名.字段 FROM( SELECT row_nu ...

  8. [.NET] SQL数据分页查询

    [.NET] SQL数据分页查询 程序下载 范例下载:点此下载 原始码下载:点此下载 NuGet封装:点此下载 数据查询 开发系统时,使用C#执行SQL查询指令,就可以从SQL数据库里查询所需数据. ...

  9. MySql数据库列表数据分页查询、全文检索API零代码实现

    数据条件查询和分页 前面文档主要介绍了元数据配置,包括表单定义和表关系管理,以及表单数据的录入,本文主要介绍数据查询和分页在crudapi中的实现. 概要 数据查询API 数据查询主要是指按照输入条件 ...

随机推荐

  1. if-else和while循环

    用户登陆验证: if-else 判断 #!/usr/bin/env python # -*-coding:utf-8 -*- import getpass passwd=' name='sunhao' ...

  2. Asp.Net MVC3.0中防止跨站的POST

    在Form中添加 @Html.AntiForgeryToken(); 在后台的Action中增加 [ValidateAntiForgeryToken] 这个方法还可以添加自定义的参数 @Html.An ...

  3. 记第十四届省赛参赛体会&第十三届

    emmm....时间还是很久远了 还是流水账 这次比赛我还是挺开心的 因为感觉我们余神就是一把宝剑,然后我是她的Buff 前面四道题就挺顺利都1A过了,十年余神就是强无敌呀 最后两分钟过了第五题,银牌 ...

  4. Spring Boot 揭秘与实战(二) 数据存储篇 - 声明式事务管理

    文章目录 1. 声明式事务 2. Spring Boot默认集成事务 3. 实战演练4. 源代码 3.1. 实体对象 3.2. DAO 相关 3.3. Service 相关 3.4. 测试,测试 本文 ...

  5. Tail Recusive

    1.尾递归 double f(double guess){ if (isGoodEnough(guess)) return guess; else return f(improve(guess)); ...

  6. java ip 正则表达式

    private static boolean isBoolIp(String ipAddress) { String ip = "(?:(?:25[0-5]|2[0-4][0-9]|[01] ...

  7. make clean,make distclean与make depend的区别

    make clean仅仅是清除之前编译的可执行文件及配置文件. 而make distclean要清除所有生成的文件. Makefile 在符合GNU Makefiel惯例的Makefile中,包含了一 ...

  8. 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 ...

  9. .net core 微服务架构-docker的部署-包括网关服务(Ocelot)+认证服务(IdentityServer4)+应用服务(asp.net core web api)

    本文主要介绍通过Docker来部署通过.Net Core开发的微服务架构,部署的微服务主要包括统一网关(使用Ocelot开发).统一认证(IdentityServer4).应用服务(asp.net c ...

  10. 20165313 《Java程序设计》第二周学习总结

    教材学习总结 这周我主要学习了教材上的二,三两章.其基本内容就是数据与语句的表达与基本的运用.其中重点要理解并掌握的是: 1.Scanner的运用:利用该类创建对象就可以完成要求用户输入这一要求.类似 ...