正文
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 between',array(5,7)); $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);
*/
}
}