显示过去六个月的结果

时间:2013-05-15 09:42:37

标签: php sql date

我想显示过去六个月的SQL查询结果,并显示结果的月份和年份,我所显示的代码并不完整,因为在事实上它要长得多,但我试图给出最重要的部分...... 我使用了这个返回查询的函数(参数$k是间隔...):


我有一个循环,增加$ k,以便我可以进行六个月的查询:

for($i=0;$i<=5;$i++){
        $requete = query($i);
        SQL_QUERY($requete); // the function that executes the query
    }       

我可以得到过去几个月的结果,直到1月但不是12月,因为2012年不是2013年。


I&#39; VE试图做到这一点,以便当月为12时,当年将是当年-1:

function print_date($y_m){
        foreach($y_m as $row){
             echo $row[0];
        if ($row[0] == 12){
             $_SESSION["y"]= $_SESSION["y"]+1;
             echo $_SESSION["y"];
        }
}

但它没有用,:/有人知道如何做到这一点吗?

1 个答案:

答案 0 :(得分:5)

您可以使用以下简单的SQL查询获取过去六个月的数据:

SELECT SRC as SOURCE FROM mytable
WHERE TYPE = 'SMS' 
    AND date >= DATE_SUB(NOW(), INTERVAL 6 month)

扩展

如果你需要一个月的时间,你可以修改查询:

SELECT SRC as SOURCE FROM mytable
WHERE TYPE = 'SMS' 
    AND YEAR(date) = DATE_SUB(NOW(), INTERVAL $k month)
    AND MONTH(date) = DATE_SUB(NOW(), INTERVAL $k month)