[tp3.2.1]查詢(2)


<?php
namespace Home\Controller;
use Think\Controller;
use Think\Model;
class QueryController  extends Controller{
     // 快捷查詢 - 是一種多字段查詢的簡化寫法,
    //多個字段之間用‘|’隔開表示OR
    //用‘&’隔開表示AND

    
     public  function Query1(){
         echo '<meta http-equiv="Content-type" content="text/html;charset=UTF-8"/>';
         // 不同字段  的 相同查詢        
         $usr=M('User');
         // $map['user|email']='櫻桃小丸子';
         $map['user&email']='櫻桃小丸子';
         echo "<pre>";
         var_dump( $usr->where( $map)->select());
    }
    
     public  function Query2(){
         echo '<meta http-equiv="Content-type" content="text/html;charset=UTF-8"/>';
         // 不同字段  的 不同查詢        
    
         $usr=M('User');
         $map['id&user']= array(1,'柯南','_multi'=> TRUE);
         // 設置'_multi'為true,是為了讓id對應1,讓user對應“柯南”,否則
        //會出現id對應了1,還要對應“柯南”的情況,而且,這設置要放在數組最后

    
         echo "<pre>";
         var_dump( $usr->where( $map)->select());
    }
    
     public  function Query3(){
         echo '<meta http-equiv="Content-type" content="text/html;charset=UTF-8"/>';
         //  結合表達式的 快捷查詢    
    
         $usr=M('User');
        
         // $map['id&user']=array(1,'柯南','_multi'=>TRUE);
        //設置'_multi'為true,是為了讓id對應1,讓user對應“柯南”,否則
        //會出現id對應了1,還要對應“柯南”的情況,而且,這設置要放在數組最后

    
         $map['id&user']= array( array('gt',1),'櫻桃小丸子','_multi'=> true);
    
         echo "<pre>";
         var_dump( $usr->where( $map)->select());
    }
     public  function Query4(){
         echo '<meta http-equiv="Content-type" content="text/html;charset=UTF-8"/>';
        
         // 區間查詢
        //比如 id>1 and id<3
        //或者 id>1 or id<3

        
         $user=M("User");
         $map['id']= array( array('gt',1), array('lt',3)); // 注意沒有等於
        
         echo "<pre>";
         var_dump( $user->where( $map)->select());
        
         $map['id']= array( array('lt',1), array('gt',3),'or');
         echo "<pre>";
         var_dump( $user->where( $map)->select());
    }
    
     // 組合查詢  -  基於索引數組查詢方式的擴展性查詢,
    //            可以添加字符串查詢(_string)、復合查詢(_complex)、請求字符串查詢(_query)
    //由於采用的是索引數組,重復的會被覆蓋

     public  function Query5(){
         echo '<meta http-equiv="Content-type" content="text/html;charset=UTF-8"/>';
        
         $user=M('User');
        
         $map['id']= array('eq',1);
         $map['_string']='user="柯南" AND email="kenan0210@sian.com"';
         //  $map['_logic']='OR';
        
         echo "<pre>";
         var_dump( $user->where( $map)->select());
    }
    
     public  function Query6(){
         echo '<meta http-equiv="Content-type" content="text/html;charset=UTF-8"/>';
        
         $user=M('User');
        
         $map['id']= array('gt',1);
         // 請求字符串 查詢 - 這是URL方式,不需要加引號
         $map['_query']='user=櫻桃小丸子&email=labixiaoxin001@google.com&_logic=OR';
         // 推薦使用,因為字段名有``護起來
        
         echo "<pre>";
         var_dump( $user->where( $map)->select());
    }
    
     public  function Query7(){
         echo '<meta http-equiv="Content-type" content="text/html;charset=UTF-8"/>';
        
         $user=M('User');
        
         $where['user']= array('like','%小%');
         $where['id']=1;
         $where['_logic']='OR';
         $map['_complex']= $where;
         $map['id']=3;
         $map['_logic']='OR';
        
         echo "<pre>";
         var_dump( $user->where( $map)->select());
    }
    
     // 統計  查詢
     public  function TjQuery(){
         $user=M('User');
         var_dump( $user-> count()); // 統計記錄總數
         var_dump( $user-> count('email')); // 統計字段email總數,遇到null跳過
         echo "<br />";
         var_dump( $user-> max('id'));
         var_dump( $user-> min('id'));
         var_dump( $user->avg('id'));
         var_dump( $user->sum('id'));
    }    
    
     //  動態查詢
    // 借助 PHP5 語言特性,ThinkPHP實現動態查詢

     public  function Query_getby(){
         // getBy動態查詢 //注意找到多個時,只返回一個
         $user=M('User');
         var_dump( $user->getByEmail('kswyl_da@gmail.com'));
         var_dump( $user->getByUser('旗木卡卡西'));
         var_dump( $user->getByUser( array('LIKE','%小%')));
    }    
    
     // getFieldBy查詢
     public  function Query_getfieldby(){
         $user=M('User');
         // var_dump($user->getFieldByUser('旗木卡卡西','id'));
         var_dump( $user->getFieldByUser('旗木卡卡西', array('id','email')));
         // 注意,即使想這樣想返回多個字段的結果,也會只返回一個(id的 值)
    }
    
     // SQL原生查詢
    
     public  function Query_read(){
         // ThinkPHP支持原生SQL query讀取
         $user=M('User');
         echo "<pre>";
         var_dump( $user->query('SELECT * FROM think_user'));
        
    }
    
     // execute寫入
     public   function Execute_write(){
         $user=M('User');
         var_dump( $user->execute('UPDATE think_user SET user="蠟筆大新" WHERE id=1'));
    }
    
    
}


?>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM