一、控制器部分

  1. <?php
  2.  
  3. namespace app\user\controller;
  4.  
  5. use app\index\controller\Common;
  6. use app\user\model\HelpCenterFeedback as HelpCenterFeedbackModel;
  7. use org\Response;
  8. use app\index\logic\Upload;
  9. use think\Request;
  10. use org\Ucenter;
  11. use think\Db;
  12.  
  13. /**
  14. * 帮助中心意见反馈控制器
  15. * Class Feedback
  16. * @package app\user\controller
  17. */
  18. class Feedback extends Common
  19. {
  20. /**
  21. * 反馈列表数据
  22. * @return array
  23. */
  24. public function index(Request $request)
  25. {
  26. $page = $request->get('page', 1);//页数
  27. $row = $request->get('row', 2);//每页数据
  28. $keywords = $request->get('keywords', '');//搜索关键词
  29. $source = $request->get('source', '0');//版本 0-用户端 1-企业端
  30. //查询模型取数据
  31. $feedback = new HelpCenterFeedbackModel();
  32. $feedback->getList($page, $row, $keywords, $source);
  33. //提取模型查询的数据
  34. $total = $feedback->total;
  35. $pages = $feedback->pages;
  36. $list = $feedback->list;
  37. $data = [
  38. 'total' => $total,//数据总量
  39. 'page' => $page,//当前页
  40. 'pages' => $pages,//总页数
  41. 'trainlist' => $list,//数据详情
  42. ];
  43. return Response::response(0, $data);
  44. }
  45.  
  46. public function create()
  47. {
  48. //
  49. }
  50.  
  51. public function edit(Request $request,$id)
  52. {
  53. //
  54. }
  55.  
  56. /**
  57. * 反馈列表状态修改
  58. * @param $id
  59. * @return array
  60. */
  61. public function update(Request $request,$id)
  62. {
  63. $status = $request->put('status','');
  64. if (empty($status) && $status != '0') {
  65. return Response::response(1005, [], '操作状态错误');
  66. }
  67. $res= Db::table('qj_help_center_feedback')->where('id',$id)->update(['status'=>$status]);
  68. if ($res === false) Response::response(1, '修改失败');
  69. return Response::response(0, '修改成功');
  70. }
  71.  
  72. }

二、模型

  1. <?php
  2.  
  3. namespace app\user\model;
  4.  
  5. use Helper\JobHelper;
  6. use Helper\ResumeHelper;
  7. use think\Model;
  8. use think\Request;
  9. use traits\model\SoftDelete;
  10. use think\Db;
  11.  
  12. /**
  13. * 帮助中心模型
  14. * Class Feedback
  15. * @package app\user\model
  16. */
  17. class HelpCenterFeedback extends Model
  18. {
  19. /**
  20. * @param $page 页数
  21. * @param $row 每页数据
  22. * @param $keywords 搜索关键词
  23. * @param $source 版本 0-用户端 1-企业端
  24. */
  25. public function getList($page, $row, $keywords, $source)
  26. {
  27. $offset = ($page - 1) * $row;
  28. $where = [];
  29. if ($keywords) {
  30. $where['a.user_account'] = [ 'like', $keywords . '%'];
  31. }
  32. //0用户端,1企业端
  33. $where['source'] = $source?$source:0;
  34. //统计总数
  35. $total = Db::table('qj_help_center_feedback')->alias('a')
  36. ->join('qj_feedback_type t','a.type=t.id','left')
  37. ->where($where)
  38. ->order('a.id asc')
  39. ->count();
  40. //查询列表信息
  41. $list = Db::table('qj_help_center_feedback')->alias('a')->field('a.*,t.type')
  42. ->join('qj_feedback_type t','a.type=t.id','left')
  43. ->where($where)
  44. ->order('a.id asc')
  45. ->limit($offset, $row)
  46. ->select();
  47. //处理状态和图片路径处理
  48. foreach ($list as $key => &$val) {
  49. //处理状态转换
  50. if ($val['status'] == 0) {
  51. $val['status'] = '待处理';
  52. } elseif ($val['status'] == 1) {
  53. $val['status'] = '已回访';
  54. } else {
  55. $val['status'] = '忽略';
  56. }
  57. //图片path路径转oss路径
  58. $img_arrs = [];
  59. if ($val['img'] !='') {
  60. $img_arr = explode(',',$val['img']);
  61. foreach($img_arr as $k=>$v){
  62. $img_arrs[$k]=get_image_url($v);
  63. }
  64. $list[$key]['img']=$img_arrs;
  65. }
  66. }
  67. $this->pages = ceil($total / $row);
  68. $this->list = $list;
  69. $this->total = $total;
  70. }
  71. }

路由定义参考如下(这里定义的是资源路由)

  1. return [
  2. '__pattern__' => [
  3. 'name' => '\w+',
  4. ],
  5. '/error' => 'index/error/index',//错误页面
  6. '__rest__' => [
  7. 'user/feedback'=>'user/feedback',//帮助中心-意见反馈-用户端
  8.  
  9. ]
  10. ];

请求数据

数据如下

  1. Status: 200 OK Time: 683 ms
  2. {
  3. "code": 0,
  4. "message": "success",
  5. -"data": {
  6. "total": 25,
  7. "page": "1",
  8. "pages": 13,
  9. -"trainlist": [
  10. -{
  11. "id": 51,
  12. "user_account": "17076611177",
  13. "version": "PC_3.0.0",
  14. "type": "优化建议",
  15. "content": "这些健议优化一下",
  16. "addtime": "2018-05-11 09:22:43",
  17. "status": "忽略",
  18. "source": 0,
  19. -"img": [
  20. "http://zcplant1.oss-cn-shenzhen.aliyuncs.com/user/20180511/ddb5254c9dc2d65ec60cb377039c5a06.jpg",
  21. "http://zcplant1.oss-cn-shenzhen.aliyuncs.com/user/20180511/ddb5254c9dc2d65ec60cb377039c5a06.jpg",
  22. "http://zcplant1.oss-cn-shenzhen.aliyuncs.com/user/20180511/ddb5254c9dc2d65ec60cb377039c5a06.jpg"
  23. ]
  24. },
  25. -{
  26. "id": 52,
  27. "user_account": "17076611177",
  28. "version": "PC_3.0.0",
  29. "type": "优化建议",
  30. "content": "123",
  31. "addtime": "2018-05-11 14:49:17",
  32. "status": "待处理",
  33. "source": 0,
  34. -"img": [
  35. "http://zcplant1.oss-cn-shenzhen.aliyuncs.com/user/20180511/ddb5254c9dc2d65ec60cb377039c5a06.jpg"
  36. ]
  37. }
  38. ]
  39. }
  40. }

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. Delphi revelations #1 – kbmMW Smart client on NextGen (Android) – Scope problems

    Delphi 启示 #1 – kbmMW Smart client on NextGen (Android) – 作用域问题 以更高级的方式使用kbmMW smart client,在Android设 ...

  2. Tomcat9配置SSL连接

    .首先生成数字证书: 使用JDK的keytool命令,生成证书(包含证书/公钥/私钥)到D:\ssl.keystore:keytool -genkey -keystore "D:\ssl.k ...

  3. C++指针易错点梳理

    1 指针定义 指针是一个变量:指针的值是另一个变量的地址.变量的声明 type *var-name; var-name 是指针变量的名称.星号是用来指定一个变量var-name是指针变量. int * ...

  4. Unity跳转场景进度条制作教程(异步加载)

    Unity跳转场景进度条制作 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享 ...

  5. leetcode 772.Basic Calculator III

    这道题就可以结合Basic Calculator中的两种做法了,分别是括号运算和四则运算的,则使用stack作为保持的结果,而使用递归来处理括号内的值的. class Solution { publi ...

  6. P3084 [USACO13OPEN]照片Photo (dp+单调队列优化)

    题目链接:传送门 题目: 题目描述 Farmer John has decided to assemble a panoramic photo of a lineup of his N cows ( ...

  7. loadrunner笔记---一

    1.Loadrunner主要由Vugen,Controller和Analyais3部分组成 2.简述描述集合点和集合点函数 集合点可以同步虚拟用户,以便能在同一时刻执行任务,集合点函数lr_rende ...

  8. HDU 1873 看病要排队 优先队列

    Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...

  9. django-dailyfresh

    Hold on ,learn by myself! redis nosql - 不支持sql语法 - 存储数据都是KV形式 - Mongodb - Redis - Hbase hadoop - Cas ...

  10. CentOS安装备忘2

    CentOS7安装备忘2 安装过程中不联网,安装完成也不要立刻联网,先关闭远程的服务后再联网更新.安装默认使用English,目的是生成的Home下所有文件夹都是英文的,方便使用. ========= ...