class SelectAction extends Action{

 
function index(){
//thinkphp 查询语言 
//         1.普通查询
//   2.区间查询
//   3.组合查询
//   4.复合查询
//   5.统计查询
//   6.定位查询
//   7.SQL查询
//   8.动态查询
 
// (一).普通查询
//         1.字符串形式
//           'id'>5 and id<9  在SQL语句当中写的基本形式也是字符串形式
//       2.数组形式
//            $user=M('user');
//  $date['username']='aaaa';  //$date['字段名']=array('表达式','查询条件');
//  $liset=$user->where($date)->select();
//       3.对象形式
//              $user=M('user');
//              $condition=new stdClass();
//  $codition->username='aaaa';
//  $list=$user->where($a)->select();
//          查询表达式
//  EQ 等(=)
//  NEQ 不等于(!=)
//  GT 大于(>)
//  EGT 大于等于(>=)
//  LT 小于(<)
//  ELT 小于等于(<=)
//  LIKE 等于SQL like
//  [NOT]ETWEEN 等于SQL的BETWEEN
//  [not] in 查询集合
//  exp 比较特殊 是指使用标准SQL语言 实现更加复杂的情况
 
//==============================================================================
//普通查询
          //$mo=M('Mvc');
 //-------输出ID等于4的所有字段--------
 //$list=$mo->where('id=4')->select();                        1.字符串形式
 //$list=$mo->where(array('id'=>array('EQ','4')))->select();  2.数组形式
 //$conditon=new stdClass();
 //$conditon->id=4;                                           3.对象形式
 //-------输出ID不等于4的所有字段--------
 //$condition="id!=4";                                        1.字符串形式
 //$conditon['id']=array('NEQ','4');                          2.数组形式
 //-------like的使用  找用户名以h字母开始的---------
 //$condition="name like 'h%'";                               1.字符串形式
 //$condition['name']=array('like','h%');                     2.数组形式
 //$condition=array('name'=>array('like','h%'));              2.数组形式另一种写法
 //-------BETWEEN的使用 找到id 4 到id 10的值-------
 //$condition="id between '4' and '10'";                      1.字符串形式
 //$condition['id']=array('between','4,10');                  2.数组形式
 //$condition=array('id'=>array('between','4,10'));           2.数组形式另一种写法
 //$condition['id']=array('between',array('4','10'));         2.1三维数组的数组形式
 //$condition=array('id'=>array('between',array('4','10')));  2.1三维数组的数组形式另一种写法
 //$condition['id']=array('not between','4,10');              not between
 //-------in的使用 找到name 是 ccc,ggg,nnn的行---------
 //$condition="name in ('ccc','ggg','nnn')";                  1.字符串形式
 //$condition['name']=array('in','ccc,ggg,nnn');              2.数组形式
 //$condition['name']=array('in',array('ccc','ggg','nnn'));   2.1三维数组的数组形式
 //-------exp 的使用  找到name 是 ccc,ggg,nnn的行--------
 //$condition['name']=array('exp',"in('ccc','ggg','nnn')");   2.数组形式
//==========================================================================================================
//区间查询   区间查询就是同一字段间 跨值查询 归根到底 还是数组查询 查询表达式BETWEEN能代替其中一部分 但是区间查询更灵活 范围更广
//$map['字段名']  = array(第一个条件array('like','%a%'), 第二个条件array('like','%b%'), 第三个条件array('like','%c%'), 第三个条件'ThinkPHP',条件间的关系'or 或 and'); 
          //------查找id大于3 小于10的行------
          //$condition="id>=3 and id<=10";                               1.字符串形式
 //$condition['id']=array('between','3,10');                 2.between
 //$condition['id']=array(array('EGT',3),array('ELT',10));      3.区间查询
 //$condition['id']=array(array('GT',3),array('LT',10),'or');
//==========================================================================================================
//组合查询   组合查询 就是跨字段查询
          //$condition['id']=array('EQ',8);
 //$condition['name']=array('EQ','ccccc');
 //$condition['_string']="id=2";  就是在后面加上标准的sql where语句
 //$condition['_logic']='or';    字段条件之间的关系
//=========================================================================================================
//复合查询  复合查询是包括区间查询  和 组合查询  先写优先级高的模块 然后 __complex压入大模块中
           //---------查询表 name为 含有c 2开头 g结尾  其中c结尾的id必须为2-----------
 //$condition="(name like '%c%' and id=2 )or name like '2%' or name like '%g'";查询字符串
//  $date['name']=array('like','%c%');
//  $date['id']=2;
//  $date['_logic']='and';
//  $condition['_complex']=$date;
//  $condition['name']=array(array('like','2%'),array('like','%g'),'or');
//  $condition['_logic']='or';
          //---------查询表 name为 含有c 2开头  其中c结尾的id必须为2 2开头必须ip是127%  他们必须同时time不为空  -------
//  $condition="(name like '%c%' and id=2 and time!='') or (name like '2%' and ip like '127%' and time!='')"; 1.字符串形式
//        -------------------
//        $date['name']=array('like','%c%');                                          2.数组加字符串形式
//  $date['id']=2;                                                              复合查询 是数组查询的一种形式 所有受到数组查询的 
//  $date['time']=array('NEQ','');                                              局限性 每个特殊查询 只能使用一次(_string _query 
//  $date['_logic']='and';                                                      _complex)只能使用一次
//  $twda['_complex']=$date;
//  $twda['_string']="name like '2%' and ip like '127%' and time!=''";
//  $twda['_logic']='or';
//  $condition['_complex']=$twda;
//         -------------------
//==========================================================================================================
//统计查询
//        $mo->count('字段'); 总数
//  $mo->max('字段') 最大值
//  $mo->min('字段') 最小值
//  $mo->avg('字段') 平均数
//  $mo->sum(字段) 和
          $mo=M('CommonModel:Mvc');
          //$list=$mo->count('id');  
//==========================================================================================================
//定位查询 getN是一个很好 很灵活的 获取查询结果中部分值的方法 主要其使是 0  可以和limit 互通 
          //$list=$mo->getN(-5);
 //$list=$mo->where('id=11')->Last();
//==========================================================================================================
//动态查询  动态查询 简单也更快速
//         一.getBy动态查询 一直快速查询对应字段值 的单条数据的利器
           //$list=$mo->getByname(nnn);
  //$list=$mo->getByid('3');
  //二. getFieldBy 针对某个字段的值 获取单条数据的单个信息
  //$list=$mo->getFieldByid('2','name');
  //三. top动态查询 top动态查询和limit能互换    !!!!!!!!此处很奇怪 5要加在括号前面!!!!!!!!
  //$list=$mo->top5();
 //$list=$mo->where($condition)->select();    
 dump($list);
}

}

thinkphp的条件的多种写法的更多相关文章

  1. Thinkphp 查询条件 and 和 or同时使用即复合查询

            thinkphp 3.2快捷查询OR查询&分割表示AND查询讲解         快捷查询方式是一种多字段查询的简化写法,可以进一步简化查询条件的写法,在多个字段之间用|分割表 ...

  2. 【重点】Shell入门教程:流程控制(2)条件判断的写法

    第三节:条件判断的写法 if条件判断中,if的语法结构中的“条件判断”可以有多种形式.测试结果是真是假,就看其传回的值是否为0. 条件测试的写法,有以下10种: 1.执行某个命令的结果 这里的命令,可 ...

  3. python最简洁的条件判断语句写法

    这篇文章主要介绍了Python返回真假值(True or False)小技巧,本文探讨的是最简洁的条件判断语句写法,本文给出了两种简洁写法,需要的朋友可以参考下 如下一段代码: def isLen(s ...

  4. thinkphp 带条件分页查询

    thinkphp 带条件分页查询:form表单传值时候,method='get'. 用 get 传值

  5. asp.net 连接字符串的多种写法

    一.使用OleDbConnection对象连接OLE DB数据源 1.连接Access 数据库 Access 2000: “provider=Microsoft.Jet.Oledb.3.5;Data ...

  6. ThinkPHP Where 条件中使用表达式

    本文转自:这里 Where 条件表达式格式为: $map['字段名'] = array('表达式', '操作条件'); 其中 $map 是一个普通的数组变量,可以根据自己需求而命名.上述格式中的表达式 ...

  7. thinkphp where条件语句整理

    ThinkPHP运算符 与 SQL运算符 对照表 TP运算符 SQL运算符 例子 实际查询条件 eq = $map['id'] = array('eq',100); 等效于:$map['id'] = ...

  8. thinkphp where()条件查询

    今天来给大家讲下查询最常用但也是最复杂的where方法,where方法也属于模型类的连贯操作方法之一,主要用于查询和操作条件的设置.where方法的用法是ThinkPHP查询语言的精髓,也是Think ...

  9. (转)ThinkPHP Where 条件中使用表达式

    转之--http://www.cnblogs.com/martin1009/archive/2012/08/24/2653718.html Where 条件表达式格式为: $map['字段名'] = ...

随机推荐

  1. Tomcat 配置篇

    Tomcat 配置一.Tomcat 基本介绍 1.关键目录 a) bin 该目录包含了启动.停止和启动其他的脚本,如startup.sh.shutdown.sh等; b) conf 配置文件和一些文档 ...

  2. CPU性能测试

    用计算圆周率的办法来测试cpu性能 4*a(1) 是 bc 主動提供的一個計算 pi 的函數,至於 scale 就是要 bc 計算幾個小數點下位數的意思.當 scale 的數值越大, 代表 pi 要被 ...

  3. js图片放大镜 可动态更换图片

    现仅已.NET为例,HTML代码如下 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > & ...

  4. 在 Xcode中 修改文件中自动创建的Created by和Copyright

    在Xcode里创建的时候,会自动生成注释 //  Created byxxx on 15/7/10. //  Copyright (c) 2015年 xxxx. All rights reserved ...

  5. codeforces 335A Banana(贪心)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud    Banana Piegirl is buying stickers for ...

  6. POI操作Excel常用方法总结

    转载自:http://blog.csdn.net/xjun15/article/details/5805429 一. POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提 ...

  7. 新手必看的jQuery优化笔记十则

    jQuery优化 1.简介 jQuery正在成为Web开发人员首选的JavaScript库,作为Web开发者,除了要了解语言和框架的应用技巧外,如何提升语言本身的性能也是开发人员应该思考的问题.文章就 ...

  8. Redis 入门之编译安装

    Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主 ...

  9. zabbix之1监控概念

    1.通过通用的snmp监控,无需代理端 2.通过snmp代理 snmp代理的工作原理:在被监控端设置代理,代理不断的获取本地数据,而管理端定期通过代理获取监控数据. snmp目前有v1,v2,v3三种 ...

  10. mysql索引分类及注意事项

    MYSQL索引主要分为四类:主键索引,普通索引(聚合,非聚合),唯一索引,全文索引 全文索引,主要是针对对文件,文本的检索, 比如文章, 全文索引针对MyISAM有用. 索引的原理:利用二叉树(哈希表 ...