——controller

      public $defaultAction = "income";
    public function actionIncome(){
           $model = new StatsSpace;
        $model->user_id = Yii::app()->user->id;

//日期
        $idate = isset($_POST['Income']['idate']) ? $_POST['Income']['idate'] : "";
        if(!$idate){
            $endDate   = date("Y-m-d");
            $idate = date('m/d/Y',time()-24*3600*5)." - ".date("m/d/Y");
            $_POST['Income']['idate']=$idate;
            //$idate = date('m/d/Y',strtotime('2012-08-08'))." - ".date("m/d/Y");
        }
        $model->idate = $idate;

//计算month_income用
        $model->idate_from_controller = $idate;
        //tabs
        $sumall = $model->getSumAllIncome();        
        //$dataProvider  数据提供者
        $dataProvider = $model->getDataProviderIncome($idate);
        $this->render("income", array(
            'model'=>$model,   //$model = new StatsSpace;
            'sumall'=>$sumall, //tabs 根据广告位置,算总收入
            'idate'=>$idate,   //$model->idate_from_controller   $model->idate   日期
            'dataProvider'=>$dataProvider, //getDataProviderIncome($idate)【下面表格的具体数值】;           
        ));
    }

--------------model【data——where】

/**
     * tabs相关
     */
    public function getSumAll(){
        $idate = $this->idate;
        
        if($idate){
            $tmp = explode(' - ', $idate);
            $startDate = strtotime($tmp[0]);
            $d1 = date('Y-m-d', $startDate);
            $endDate = strtotime($tmp[1]);
            $d2 = date('Y-m-d', $endDate);
        }else{
            $startDate =  strtotime(date("Y-m-d",time()-24*3600*5));
            $endDate   = strtotime(date("Y-m-d"));
            $d1 = date('Y-m-d', $startDate);
            $d2 = date('Y-m-d', $endDate);
        }
        
        $sql = "SELECT
                    SUM(totalIncome) AS totalIncomeSum,
                    SUM(cpcIncome) AS cpcIncomeSum,
                    SUM(cpmIncome) AS cpmIncomeSum,
                    monthIncome AS monthIncomeSum
                FROM
                    {{income}}
                WHERE
                    user_id=:user_id
                AND
                    idate>='$d1'    
                AND
                    idate<='$d2'";

$uid = Yii::app()->user->id;
        $cmd = Yii::app()->db->createCommand($sql);
        $row = $cmd->bindValue(':user_id', $uid)->queryRow();
        
        return $row;
    }

static public function computeAllData($d1="",$d2=""){
        $user_id = Yii::app()->user->id;
        if($d1 && $d2){
            $where = "WHERE idate >= '{$d1}' AND idate <='{$d2}' AND user_id={$user_id}";
        }else{
            $where = "WHERE user_id={$user_id}";
        }
        
        $sql = "SELECT id,SUM(cpcAllShows) cpcAllShows,SUM(cpcValidClicks) cpcValidClicks,SUM(cpmAllShows) cpmAllShows,SUM(cpmValidShows) cpmValidShows,SUM(monthAllShows) monthAllShows,
                SUM(totalIncome) totalIncome,SUM(cpcIncome) cpcIncome,SUM(cpmIncome) cpmIncome,SUM(monthIncome) monthIncome FROM {{income}}
                $where
        ";
        $row = Yii::app()->db->createCommand($sql)->queryRow();
        return $row;
    }

____view

<?php $form=$this->beginWidget('bootstrap.widgets.TbActiveForm',array(
'htmlOptions'=>array('style'=>'float:left;margin-bottom:-5px;')
)); ?>

<!--日期-->
<div style="float:left; margin-bottom: 20px;">
    <div style="float:left;margin-left:5px;height:30px;text-align: bottom;position:position:relative "><p style='position:relative;margin:5px;font-size: 20px'>日期</p></div>
    <?php
    
    $this->widget('bootstrap.widgets.TbDateRangePicker', array(
        'name'=>'Income[idate]',
        'value'=>$model->idate,
        'options'=>array(
            'showAnim'=>'fold',
        ),
        'htmlOptions'=>array(
            'style'=>'height:20px;float:left;'
        ),
    ));?>
    
    <?php $this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'submit', 'type'=>'null', 'label'=>'查询','htmlOptions'=>array('style'=>'margin:0 0 10px 5px;')));?>
</div>

<?php $this->endWidget(); ?>

yii 日期插件的更多相关文章

  1. yii2.0使用bootstrap中日期插件

    Yii2框架引用bootstrap中日期插件yii2-date-picker的方法. 使用composer安装 日期插件 php composer.phar require "2amigos ...

  2. 轻量级的日期插件--datebox

    jquery的日期插件有好几款,H5中的input也可以自带日期选择.但为什么要再写一个,有两个理由,一个是引用的文件太大,而有时候只需要很简单的功能,二个是想加一些自定义的效果不好改. 我写的这个功 ...

  3. My97DatePicker日期插件

    My97DatePicker是一款优秀的日期插件,它可以很方便地实现各种日期选择效果,博得广大IT开发人员的青睐. 下面来讲讲它的常用功能及设置方法. 方法/步骤   先来最简单的配置方法: (1)下 ...

  4. 基于JS功能强大的日期插件Kalendae

    开发中需要一个日期插件,可以在zepto下使用,可以选择日期段,可以设置不可选日期 找到一个完全满足的,并且基于JS不依赖于任何库. 在线演示:http://chipersoft.com/Kalend ...

  5. jsp日期插件My97DatePicker

    jsp日期插件My97DatePicker 强大的日期控件 使用方便简单 (2010-10-30 18:59:12) 转载▼ 标签: js javascript 日期插件 jsp it 分类: jqu ...

  6. jquery ui bootstrap日期插件

    http://blog.csdn.net/php_897721669/article/details/7404527 搜索“jquery ui日期插件怎么显示年份”? $("#datepic ...

  7. (转)JQM 日期插件 mobiscroll Demo

    (原)http://www.wglong.com/main/artical!details?id=11  JQM 日期插件 mobiscroll Demo 2013-04-25 / 分类:Jquery ...

  8. (转)jQuery Mobile 移动开发中的日期插件Mobiscroll 2.3 使用说明

    (原)http://www.cnblogs.com/hxling/archive/2012/12/12/2814207.html jQuery Mobile 移动开发中的日期插件Mobiscroll ...

  9. bootstrap的日期插件datetimepicker有问题

    bootstrap的日期插件datetimepicker在chrome中会出现掉下来的现象,而且一直没找到原因,下载最新版的插件直接在各个浏览器中都会掉下来, 问题一直解决不了,转而换其他插件 htt ...

随机推荐

  1. 洛谷 1020:导弹拦截(DP,LIS)

    题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹 ...

  2. 实验吧—Web——WP之 头有点大

    3. 首先看一下 .net framework 9.9 并没有9.9版本 可以考虑浏览器伪装用户代理 就得了解User-Agent ???何为user-agent User-Agent是Http协议中 ...

  3. org.apache.commons.lang3.Validate

    Validates.notBlank(user.getName(), "必须提供name");

  4. Thinkphp分页类使用

    3.2.2分页设置变化: $count = $pro->count(); //查询出总条数 $page=new \Think\Page($count,5); $page->rollPage ...

  5. read()/fread()/mmap()执行效率对比

    一. read()/fread()/mmap()执行效率对比 系统调用read.c: #include <sys/types.h> #include <sys/stat.h> ...

  6. knowledge-repo 知识管理简单试用

    knowledge-repo 是airbnb 开源的知识管理工具,只集成git 数据库等类型的存储 安装 pip install --upgrade "knowledge-repo[all] ...

  7. 转 Apache Kafka:下一代分布式消息系统

    简介 Apache Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为Apache项目的一部分.Kafka是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交 ...

  8. svn分支开发注意事项

    1.切换的时候最好查看本文件的是主干上的还是分支上的, 单击右键,点击属性,可以看到以下图片,其中"URL"就可以 看到是主干还是分支 2.切换到分支 点击切换后就选择要切换到的路 ...

  9. jni头文件自动生成

    写一个测试代码,大概如下 package aa.bb; public class TestClass { public native void aaaBBB(); } 在项目的src目录下执行 jav ...

  10. 退出循环break,在while、for、do...while、循环中使用break语句退出当前循环,直接执行后面的代码。

    在while.for.do...while循环中使用break语句退出当前循环,直接执行后面的代码. 格式如下: for(初始条件;判断条件;循环后条件值更新) { if(特殊情况) {break;} ...