今天需要做一个用户信息导出为excel的功能,查询订单表,通过商品id得到所有已购买用户的id,那通过用户id即可得到用户的其他信息。那么问题来了,怎样通过多个id查询值呢,这是想起了mysql 的in查询,首先你需要用mysql
in查询。我这里用的是thinkphp框架,贴出代码:
$tuan=M('tuan_order');
$users=M('users');
//获取课程名称
$title=M('tuan')->where(array('tuan_id'=>$_GET['tuan_id']))->getField('title');
/**获取所有购买此课程所学生的id*/
$where=$tuan->where(array('tuan_id'=>$_GET['tuan_id'],'status'=>1))->select();
/**提取其中所有的user_id字段*/
for($i=0;$i<count($where);$i++){
$aa[$i]=$where[$i]['user_id'];
}
/**使用in查询,获得查询条件*/
$map['user_id']=array('in',implode(',',$aa));
$data=$users->where($map)->select();//sql语句为:SELECT * FROM `users` WHERE ( `user_id` IN ('id值','id值') )
//echo $users->getLastSql();