[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'));
}
} ?>
[tp3.2.1]查询(2)的更多相关文章
- tp3.2 复合查询or
tp3.2 复合查询or $where['goods_name'] = array("like","%$q%");$where['goods_sn'] = ar ...
- Tp3.2 复合查询
我们常常有这样的需求,比如搜索. 搜索出,标题,子标题,内容中包含某某关键字. 这就要and,or结合使用了. $where = ['is_show'=>1,'status'=>1]; / ...
- tp3 联表查询
联表查询D("column") ->field("{$DbPrefix}column.pid,{$DbPrefix}news.*") ->where ...
- [tp3.2.1]sql查询语句(一)
基本查询方式 字符串条件查询, 索引数组条件查询 对象条件查询 SQL语句大小写是一样的,但是,执行的时候有一个小写到大写的转换,所以最好写大写 $condition=new ...
- tp3中子查询 逻辑条件是or
直接用写sql最快 $map['_string'] = 'status=1 AND score>10'; //子查询条件字段不同 $condition['platform'] = 'swap'; ...
- tp3.2博客详情页面查询上一篇下一篇
- Thinkphp 连接数据库、查询、添加
一.连接数据库配置及Model数据模型层 1. Thinkphp\conf\convertion.php中找到数据库设置部分,复制到自己的配置文件中,并添加好有关数据库的内容 JiaoWu\Home\ ...
- TP3.2.3 接入银联支付
TP3.2.3 接入银联支付 项目接入银联支付的过程, 在此记录下,希望能帮助开发盆友平坑. 银联SKD链接:https://open.unionpay.com/ajweb/product/newPr ...
- 6月16 ThinkPHP连接数据库及Model数据模型层--------查询及数据添加
连接数据库配置及Model数据模型层 convertion.php config.php 1.在config.php做数据库连接配置 2.修改配置 /* 数据库设置 */ 'DB_TYPE' => ...
随机推荐
- LVS DR脚本 解析
vip.sh #!/bin/bash 192.168.2.240 broadcast 192.168.2.240 netmask 255.255.255.255 up route add -host ...
- 必备:常用px,pt,em换算表(转)
常用px,pt,em换算表 pt (point,磅):是一个物理长度单位,指的是72分之一英寸. px (pixel,像素):是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理 ...
- C#面向对象之属性
1.属性的定义及使用 class MyClass { ; //属性的定义 private string name = ""; //属性的定义 public int Id { get ...
- The Unsolvable Problem
The Unsolvable Problem 题目链接:http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=45783 题意: ...
- js中return,this,arguments,currentStyle和getComputedStyle小析
一.return返回值:1.函数名+括号:fn()==>return 后面的值2.所有函数默认返回值:未定义3.return后面的任何代码都不会执行二.this:当前对象1.当某个对象后边加事件 ...
- Retina时代的前端视觉优化
随着New iPad的发布,平板也将逐渐进入Retina时代,在高分辨率设备里图片的显示效果通常不尽人意,为了达到最佳的显示效果就需要对图片进行优化,这里介绍一些优化方法: 一.用CSS替代图片 这一 ...
- Flashback闪回技术小实验
1闪回查询 2闪回删除 3闪回版本查询 4闪回事务查询 5闪回某张表 6闪回数据库
- windows安装django
Window 下安装 Django 如果你还未安装Python环境需要先下载Python安装包. 1.Python 下载地址:https://www.python.org/downloads/ 2.D ...
- BizTalk开发系列(八) BizTalk Server 常识整理
1.什么是BizTalk Server? BizTalk 是业务流程管理服务器,用于连接人员,流程,有效管理和提升业务所需的信息.在原有版本业务 流程管理和SOA/ESB 的基础上,第5 个版 ...
- NEC学习 ---- 模块 - tab[含标题]
简要介绍, 默认居左, Tab不定宽, “标题”和“更多”可删, 扩展类可以自由组合, 依赖于reset.css(之前的模块以及布局都依赖这个css) 那么这个效果是怎么实现的呢? CSS代码: . ...