Thinkphp回顾之(四)查询方法深入学习

本次讲的查询方法主要有:表达式查询,模糊查询,between语句,in语句,区间查询,统计数据,普通方式查询,但大多数都只是引入数组而已,明白了第一个,其他的也就差不多全明白了,唯一要注意的是在后台中notlike中间没空格,而not in,not between中间必须有空格才能有效,不要与后面的前台标签搞混了,话不多说,直接上代码

public function showone(){

echo "欢迎你".$_GET[‘name‘];//在页面上直接就可以Index/show/name/yjs进行传参数

//查询方法的一般使用

/*

* 1.表达式查询

* 大于GT,小于LT,等于EQ,大于等于GEQ,小于等于LEQ,不等于NEQ 恒等于heq !==是 nheq

$m=M(‘User‘);

$data[‘id‘]=array(‘GT‘,‘2‘);

$arr=$m->where($data)->select();

var_dump($arr);

$this->display();

* 也就是可以用数组的形式赋给where条件,     *即大于2的id

*/

/*

* 2.模糊查询    notlike中间不能有空格,而not between最后中间必须有空格

$m=M(‘User‘);

$data[‘username‘]=array(‘notlike‘,array(‘%ge%‘,‘%2%‘),‘and‘);没有and默认为or

$arr=$m->where($data)->select();

var_dump($arr);

$this->display();

*即里面array中的查询内容必须都符合,又因为是notlike,所以只要不是两者都符合的内容都输出

*/

/*

* 2.between语句    not between中间必须有空格;

$m=M(‘User‘);

$data[‘id‘]=array(‘not between‘,array(5,7));

$arr=$m->where($data)->select();

var_dump($arr);

$this->display();

*只要不是5-7之间的就输出

*/

/*

* 2.in语句    not in中间必须有空格;

$m=M(‘User‘);

$data[‘id‘]=array(‘not in‘,array(5,7,8));

$arr=$m->where($data)->select();

var_dump($arr);

$this->display();

*只要不是5,7,8三个中的id的内容都输出

*/

/*

* 区间查询

$m=M(‘User‘);

//$data[‘id‘]=array(array(‘gt‘,1),array(‘lt‘,8));//两个数组默认为and,作用是求在1到8之间的数据

$data[‘id‘]=array(array(‘lt‘,4),array(‘gt‘,8),‘or‘);

//这里array(array(),array());这样是and关系

而array(‘like‘,array(‘%ge%‘,‘%2%‘));默认为or

$arr=$m->where($data)->select();

$this->assign(‘id‘,$arr);

//var_dump($arr);

$this->display();

*/

/*

* 统计数据

$m=M(‘User‘);

$data[‘id‘]=array(‘lt‘,8);

$count=$m->where($data)->count();

//var_dump($arr);

$this->display();

*/

/*求最大max

* 最小min

* 平均数avg

* 求和sum

$m=M(‘User‘);

$maxid=$m->max(‘id‘);

echo $maxid;

$count=$m->where($data)->count();

//var_dump($arr);

$this->display();

*其他方法相同

*/

/*

* 普通方式查询

* query();处理读取数据的(查询)

* execute();更新写入操作

$m=M();

$arr=$m->query("select * from tp_user where id>5");

//成功返回结果集,失败返回Boolean false

var_dump($arr);

*/

/*

* execute();更新写入操作(更新)

*

$m=M();

$arr=$m->execute("insert into tp_user(`username`,`sex`) values(‘dc‘,‘0‘)");

//成功返回影响行数,失败返回Boolean false

var_dump($arr);

*/

}

}

Thinkphp回顾之(四)查询方法深入学习

时间: 2024-07-31 10:40:00

Thinkphp回顾之(四)查询方法深入学习的相关文章

ThinkPHP中的like查询方法

方法一:$carrymodel = D(“Carry”);$condition["FromAddress"] = array(“like”, “%”.$rname);$condition["ToAddress"] = array(“like”, “%”.$rname);$carryrecord = $carrymodel->where($condition)->findAll(); 方法二:$model = new Model();$carryrecor

ThinkPHP学习笔记 实例化模型的四种方法

创建Action类 [php] <?php class NewObjectAction extends Action{ public function index(){ //1.创建一个基础模型 //      //一:实例化一个系统的数据库操作类 //      //new Model('User')相当于M('User'),在Model中放置一个需要操作的表 //      //1命名: //      //  thinkphp默认的有表名前缀,如果为think_user:则在Model中可

【php】thinkphp以post方式查询时分页失效的解决方法

好久没有写博客了,最近说实话有点忙,各个项目都需要改bug.昨天晚上一直没有解决的php项目中的bug,就在刚才终于搞定,在这里还需要感谢博客园大神给的帮助! 具体问题描述 最近遇到一个非常棘手的问题,也是因为刚入手thinkphp.在做项目的过程中,因为需要非常多的查询条件,如果以get方式提交表单的话,会因为url长度限制而报错,所以必须使用post方式提交表单数据,但是在分页的过程中,遇到了问题,因为thinkphp自带的分页是以a标签的形式,进行下一页的,这样查询条件就没有传入后台,导致

Dynamic CRM 2015学习笔记(3)oData 查询方法及GUID值比较

本文将比较二种查询字符串在同一个oData查询方法中的不同,另外,还将介绍如何比较不同方法返回的GUID的值. 用同一个oData查询方法,如果传入查询的字符串不一样,返回结果的格式竟然完全不一样. 1. oData查询方法: //OData查询 ODataRetrieve: function (oDataString) { var retrieveReq = new XMLHttpRequest(); retrieveReq.open("GET", encodeURI(Xrm.Pag

Java学习之道:详解Java解析XML的四种方法

XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Definition),XSLT(Extensible Stylesheet Language Transform

Spring Data学习笔记-查询方法

Spring Data支持类似Hibernate的查询语句,也可以写原生SQL语句,下面记录典型的例子. /**  * 1. Repository 是一个空接口. 即是一个标记接口  * 2. 若我们定义的接口继承了 Repository, 则该接口会被 IOC 容器识别为一个 Repository Bean.  * 纳入到 IOC 容器中. 进而可以在该接口中定义满足一定规范的方法.   *   * 3. 实际上, 也可以通过 @RepositoryDefinition 注解来替代继承 Rep

【Java EE 学习第17天】【数据库导出到Excel】【多条件查询方法】

一.导出到Excel 1.使用DatabaseMetaData分析数据库的数据结构和相关信息. (1)测试得到所有数据库名: private static DataSource ds=DataSourceUtils_C3P0.getDataSource(); Connection conn=ds.getConnection(); DatabaseMetaData dbmd=conn.getMetaData(); ResultSet rs=dbmd.getCatalogs(); while(rs.

Spring Data Jpa (四)注解式查询方法

详细讲解声明式的查询方法 1 @Query详解 使用命名查询为实体声明查询是一种有效的方法,对于少量查询很有效.一般只需要关心@Query里面的value和nativeQuery的值.使用声明式JPQL查询有一个好处,就是启动的时候就知道语法正确与否. 声明一个注解在Repository的查询方法上. Like查询,注意firstname不会自动加上%关键字的 直接用原始SQL. nativeQuery不支持直接Sort的参数查询 错误方式: 正确方式: [email protected]排序

自学Linux命令的四种方法

自学Linux命令的四种方法 导读 童鞋们刚接触linux时,在学习过程中中会遇到不少问题,学习linux摸不着头脑,那么下面介绍四种linux的学习方法,特别适合新手. 方法一:终端"每日提示" 在.bashrc中(/home/.bashrc)增加如下一行: echo "Did you know that:"; whatis$(ls /bin | shuf -n 1) 你只需要增加这行就够了!如果你想让它更娱乐化一些,你可以安装cowsay.Ubuntu/Debi