首页 > 代码库 > Thinkphp回顾之(四)查询方法深入学习

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

本次讲的查询方法主要有:表达式查询,模糊查询,between语句,in语句,区间查询,统计数据,普通方式查询,但大多数都只是引入数组而已,明白了第一个,其他的也就差不多全明白了,唯一要注意的是在后台中notlike中间没空格,而not innot 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条件,     *即大于2id

*/

      

     /*

      * 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);

     */

     }

    

}