一、背景

基本所有的后台部分,都需要一定的搜索条件,方便客服人员进行搜索。因为对tp不太熟悉,所以也耽误了不少时间。记录一下

二、查询方法

1、以前用laravel查询,都是用类似于拼接sql的方法做的,类似于:

//$sql表示查询语句的一半。后续根据条件进行拼接
$sql = M('smj_myticket')->alias('m')->join('smj_activity a ON m.aid=a.id')->join('smj_userinfo u ON m.openid=u.openid')->field('m.*,a.name,a.num,a.condition,u.nickname,u.phone');//这里代表是,如果存在开始时间,则拼接一部分where条件if($starttime){$starttime = strtotime($starttime);$sql = $sql->where('m.starttime>='."'$starttime'");}//这里代表是,如果存在结束时间,则拼接一部分where条件if($endtime){$endtime = strtotime($endtime);$sql = $sql->where('m.endtime<='."'$endtime'");}//最后,加上select()进行查询$arr = $sql ->limit($p->firstRow,$p->listRows)->select();

本来以为没啥毛病的。结果在tp中一直报错。好像这种方式在tp里面是不支持的。。

2、TP中正确的条件查询方式

//先获取post过来的数据$openid = $_POST['openid'];$nickname = $_POST['nickname'];//新建空数组where$where = [];//根据条件,往where里面加条件限制if($openid){$where['openid'] = ['EQ', $openid];}if($nickname){$where['nickname'] = ['EQ', $nickname];}$count = M('smj_userinfo')->where($where)->count();$p = getpage($count,5);//最后查询的时候,加上where条件即可。$arr = M('smj_userinfo')->limit($p->firstRow, $p->listRows)->order('id')->where($where)->select();

大家看一下上面的代码就懂了。tp有个很有意思的地方就是where里面可以是数组。这里就是利用tp的这个特性,把那些条件搜索都写到$where这个数组里面。最后查询的时候用一下即可。

end

tp3.2.3实现后台的顶部栏目查询,不用拼接sql相关推荐

  1. DEDECMS织梦后台更新网站栏目无反应一键更新无响应的解决方法

    DEDECMS织梦后台更新网站栏目无反应一键更新无响应的解决方法 参考文章: (1)DEDECMS织梦后台更新网站栏目无反应一键更新无响应的解决方法 (2)https://www.cnblogs.co ...

  2. 电商生鲜网站开发(四)——后台开发:商品模块-图片上传/多条件拼接sql

    电商生鲜网站开发(四)--后台开发:商品模块-图片上传/多条件拼接sql 增加商品 上传图片 更新商品 删除商品 批量上下架 图片上传功能 文件名UUID 通用唯一识别码(Universally Un ...

  3. U8入库单后台查询处理 常用 SQL 语句(持续更新)

    市场上常见的ERP软件有用友.金蝶等-,此篇文章阐述用友U8和SQL SERVER后台常用的的查询 先来了解一下SQL SERVER 中用友U8中 " 收 "单据所对应的表 &qu ...

  4. 在后台实现按照状态查询订单列表功能

    文章目录 在后台实现按照状态查询订单列表功能 需求 在left.jsp页面添加五个节点 AdminOrderServlet服务器中的findAllByState方法 service层的findAllB ...

  5. 商城后台管理系统之普通查询_分页查询_商品的添加,单个删除,批量删除

    一.MVC开发模式和JavaEE经典三层结构 1.JSP开发模式一: jsp(接收请求,响应请求,展示数据)+javabean(处理业务逻辑) javaBean:可复用的java组件 -user -u ...

  6. ecshop后台增加栏目查询会员是否重复注册

    ecshop的后台要查询哪些会员是否有重复注册时,可以利用特定的栏目来判断~ 譬如会员电话... 修改前请务必先备份下列档案!!! admin/users.php admin/templates/us ...

  7. dede模板加入php无法生成栏目,织梦后台更新后栏目无法生成,怎么办?

    织梦模板恢复了数据了之后,点击生成栏目的时候经常会遇到栏目无法生成,也不报错,也没有反应,这种问题其实解决起来有点棘手,该如何解决呢,原因是该更新的时候无法获取的顶级栏目的名称的id所在.废话不多说了 ...

  8. Django实现adminx后台关闭顶部的搜索栏

    在后台Django的xadmin后台管理界面顶端会有一个没什么用的搜索栏,如果想关闭这个搜索栏通过设置adminx全局设置是无法关闭的,需要修改对应的html源码才能实现. 文章目录 解决办法 解决办 ...

  9. Web后台服务开发——数据库查询之引入TypeORM

    文章转自 极客论坛 前置条件 首先按照  Web后台服务开发--安装MySQL 和 Web后台服务开发--安装HeidiSQL 安装MySQL: 然后创建一个数据库,假定名称为test,你也可以选择其 ...

最新文章

  1. 边城高级中学2021届高考成绩查询,湖南省花垣县边城高级中学2021届高三第二学期学科素养测试英语试题及答案.doc...
  2. C#程序设计笔记(第九章)
  3. Linux常用命令——fsck
  4. Zedboard学习(四):PS+PL搭建SoC最小系统
  5. Handler处理器 和 自定义Opener
  6. php隐藏IP最后位,替换手机号中间数字为*号
  7. php调用好单库api视频教程,[8.1]-PhalApi视频教程 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...
  8. 做了一个阿里云MQTT单片机编程小工具
  9. 对 pretext tasks 的理解
  10. 12M电信宽带,为什么12台机器上网,总是掉线?有什么办法解决?请给位高手指教...
  11. Linux使用命令 笔记
  12. [渝粤教育] 浙江大学 2021 2022秋数码摄影技术 参考 资料
  13. excel 使用连接符合并单元格内容或者给单元格内容添加信息
  14. 关于C#多线程之一——异步委托
  15. CEF内嵌浏览器 编译
  16. 人工智能:智能优化算法
  17. 物理表中每2条记录符合某一条件如何合二为一输出结果
  18. CMD No compiler is provided in this environment. Perhaps you are running on
  19. 每天努力再多一点,每天坚持再久一点
  20. 国标GB28181视频流媒体平台4G摄像头无插件直播平台EasyGBS出现实时视频点播错误问题解析

热门文章

  1. win10安装jdk1.8
  2. libstdc++.so, needed by ../../../rknn_api/arm64-v8a/librknn_api.so, not found
  3. free崩溃原因2021
  4. python opencv 透视变换
  5. python对应位置相乘
  6. python3 cPickle
  7. 青龙羊毛——顺丰科勒(搬运)
  8. IKE SA和IPSec SA的区别
  9. 阻塞/非阻塞与同步/异步的区别
  10. java 文档注释不显示泛型_使用Swagger进行说明 - 使用泛型时无法生成文档资源模型...