关联表查询及加 ""
2015-11-11 16:05
387 查看
//*** 用于推广统计查询-start* @param int $page* @param int $pageSize* @param array $args * @return array */
public static function queryList($page, $pageSize, $args = array()) {
$condition ='1=1';
$params = array();
//查询条件
//加入expand
if ($args['expand'] != '') {
$condition.=' AND user_expand.expand=:expand';
$params['expand'] =$args['expand'];
}
//加入开始datetime
if ($args['dttm_start'] != '') {
$condition.=' AND user_expand.datetime>=:dttm_start';
$params['dttm_start'] = $args['dttm_start'] . " 00:00:00";
}
//加入结束datetime
if ($args['dttm_end'] != '') {
$condition.=' AND user_expand.datetime<=:dttm_end';
$params['dttm_end'] = $args['dttm_end'] . " 23:59:59";
}
//用户status
$args['status']=0;
// if ($args['status'] != '') {
$condition.=' AND user.status=:status';
$params['status'] = $args['status'];
//服务号 订阅号
if($args['q_by']!=""){
$condition .= " AND user.appid ='".$args['q_by']."'" ;
}
// print_r($condition);
if ($_REQUEST['q_order'] == '') {
$order = 'user_expand.datetime DESC';
} else {
if (substr($_REQUEST['q_order'], -1) == '~')
$order = substr($_REQUEST['q_order'], 0, -1) . ' DESC';
else
$order = $_REQUEST['q_order'] . ' ASC';
}
//计算记录数目 -先生成一个字表 ,在查询
$text= Yii::app()->db->createCommand()
->select("user_expand.expand")
->from("user_expand")
->leftJoin('user', 'user.openid=user_expand.openid')
->where($condition, $params)
->group("user_expand.expand")
->text;
$total_num = Yii::app()->db->createCommand()
->select("count(1) cnt ")
->from("( $text ) t")
->where("", $params)
->queryRow();
$total_num = $total_num["cnt"];
// 查询所有记录
$rows = Yii::app()->db->createCommand()
->select(" user_expand.expand,count(1) c ")
->from("user_expand")
->leftJoin('user', 'user.openid=user_expand.openid')
->where($condition, $params)
->order($order)
->limit($pageSize)
->offset($page * $pageSize)
->group("user_expand.expand")
->queryAll();
$rs['status'] = 0;
$rs['desc'] = '成功';
$rs['page_num'] = ($page + 1);
$rs['total_num'] = $total_num;
$rs['num_of_page'] = $pageSize;
$rs['rows'] = $rows;
return $rs;
} // 用于推广统计查询-end //////////////////////////////////////////////////////////////////////////////////////////
public static function queryList($page, $pageSize, $args = array()) {
$condition ='1=1';
$params = array();
//查询条件
//加入expand
if ($args['expand'] != '') {
$condition.=' AND user_expand.expand=:expand';
$params['expand'] =$args['expand'];
}
//加入开始datetime
if ($args['dttm_start'] != '') {
$condition.=' AND user_expand.datetime>=:dttm_start';
$params['dttm_start'] = $args['dttm_start'] . " 00:00:00";
}
//加入结束datetime
if ($args['dttm_end'] != '') {
$condition.=' AND user_expand.datetime<=:dttm_end';
$params['dttm_end'] = $args['dttm_end'] . " 23:59:59";
}
//用户status
$args['status']=0;
// if ($args['status'] != '') {
$condition.=' AND user.status=:status';
$params['status'] = $args['status'];
//服务号 订阅号
if($args['q_by']!=""){
$condition .= " AND user.appid ='".$args['q_by']."'" ;
}
// print_r($condition);
if ($_REQUEST['q_order'] == '') {
$order = 'user_expand.datetime DESC';
} else {
if (substr($_REQUEST['q_order'], -1) == '~')
$order = substr($_REQUEST['q_order'], 0, -1) . ' DESC';
else
$order = $_REQUEST['q_order'] . ' ASC';
}
//计算记录数目 -先生成一个字表 ,在查询
$text= Yii::app()->db->createCommand()
->select("user_expand.expand")
->from("user_expand")
->leftJoin('user', 'user.openid=user_expand.openid')
->where($condition, $params)
->group("user_expand.expand")
->text;
$total_num = Yii::app()->db->createCommand()
->select("count(1) cnt ")
->from("( $text ) t")
->where("", $params)
->queryRow();
$total_num = $total_num["cnt"];
// 查询所有记录
$rows = Yii::app()->db->createCommand()
->select(" user_expand.expand,count(1) c ")
->from("user_expand")
->leftJoin('user', 'user.openid=user_expand.openid')
->where($condition, $params)
->order($order)
->limit($pageSize)
->offset($page * $pageSize)
->group("user_expand.expand")
->queryAll();
$rs['status'] = 0;
$rs['desc'] = '成功';
$rs['page_num'] = ($page + 1);
$rs['total_num'] = $total_num;
$rs['num_of_page'] = $pageSize;
$rs['rows'] = $rows;
return $rs;
} // 用于推广统计查询-end //////////////////////////////////////////////////////////////////////////////////////////
相关文章推荐
- 窗口机制
- Maven学习总结(6)——Maven与Eclipse整合
- Maven学习总结(6)——Maven与Eclipse整合
- Maven学习总结(6)——Maven与Eclipse整合
- When a class is loaded and initialized in JVM - Java
- [IOS]edgesForExtendedLayout、automaticallyAdjustsScrollViewInsets
- 【Android】【转】查看内存
- 百度翻译新版API的VB实现代码
- Maven学习总结(6)——Maven与Eclipse整合
- c#在Repeater中的button如何触发onclick事件
- adobe photoshop cc 2014 安装失败
- 实例学习Bloom Filter(转)
- UIImangeView的用法
- 平台中如何实现快捷的组合功能键
- tomcat 指定jdk路径
- Win10 TH2正式版10586镜像下载 微软官方ESD映像下载大全(中文简体/繁体/英文)
- CButtonST使用技巧
- Android编程之SparseArray<E>
- python的 find()用法
- 常用海量数据处理方法