用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - php代码库

查询技巧

2015-03-31 作者: 云代码会员举报

[php]代码库

一、带where条件的普通查询
    
1、字符串形式
 
$user=M('user');
$list=$user->where('id>5 and id<9')->select();
$list=$user->where($data)->select();
 
2、数组形式
 
$user=M('user');
$list=$user->where(array('username'=>'www.phpernote.com'))->select();
$list=$user->where($data)->select();
 
3、对象形式
 
$user=M('user');
$a=new stdClass();
$a->username='www.phpernote.com';
$list=$user->where($a)->select();  
 
4、查询表达式
 
EQ              等于
NEQ             不等于
GT              大于
EGT             大于等于
LT              小于
ELT             小于等于
LIKE            等价与sql中的like
[NOT] BETWEEN   查询区间
[NOT] IN        查询集合
EXP             指使用标准SQL语句,实现更加复杂的情况
 
语法格式:$data['字段名']=array('是表达式','查询条件');
 
例如
 
$data['username']='www.phpernote.com';
 
实际上是指
 
$data['username']=array('eq','www.phpernote.com');
 
$data['username']=array('like','peng%');
$list=$user->where($data)->select();
 
$data['username']=array(array('like','p%'),array('like','h%'),'or');
$list=$user->where($data)->select();
 
二、区间查询
 
$user=M('user');
$data['id']=array(array('gt',20),array('lt',23),'and');
$list=$user->where($data)->select();
 
三、组合查询
 
$user=M('user');
$data['username']='pengyanjie';
$data['password']=array('eq','pengyanjie');
$data['id']=array('lt',30);
$data['_logic']='or';
$list=$user->where($data)->select();
dump($list);
 
四、复合查询
 
$user=M('user');
$data['username']=array('eq','pengyanjie');
$data['password']=array('like','p%');
$data['_logic']='or';
$where['_complex']=$where;
$where['id']=array('lt',30);
$list=$user->where($data)->select();
 
相当于
 
(id<30) and ((username=pengyanjie) or (password like p%))
 
五、统计查询
 
echo $user->count();
echo '<br>';
echo $user->max('id');
echo '<br>';
echo $user->where('id<30')->min('id');
echo '<br>';
echo $user->avg('id');
echo '<br>';
echo $user->sum('id');
 
六、定位查询
 
$user=new AdvModel('user');//实例化高级模型AdvModel
//$user=M('user','CommonModel');//或者将AdvModel用CommonModel来继承
$list=$user->order('id desc')->getN(2);//返回结果中的第三条
$list=$user->order('id desc')->last();//返回最后一条
$list=$user->order('id desc')->first();//返回第一条
 
七、SQL查询
 
excute()主要用于更新和写入
 
$Model=new Model()  //  实例化一个 model 对象,没有对应任何数据表
$Model->execute("update think_user set name='thinkPHP' where status=1");
 
query()主要用于查询   
 
$user=M();
$list=$user->query('select * from aoli_user order by id desc');
dump($list);          
 
八、动态查询
 
$user=M('user');
$list=$user->getByusername('pengyanjie');
$list=$user->getByusername('pengyanjie');
 
$user=new AdvModel('user');
$list=$user->top5();//前5条


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...