0

下面的代码是从我的数据库中选择然后回显按周或月分组的内容。我还有几个,然后使用偏移量来获得第二周等。

FROM my_db WHERE DATE >= CURDATE() - INTERVAL 10 ".$grouping1." GROUP BY ".$grouping."(DATE) order by DATE desc limit 1

我有两个问题:

  1. 我想用一个变量交换 curdate() ,以便我们能够“选择一个开始日期”,然后从该日期开始查看 10 周/月。

  2. 有没有更简单/更好的方法来做到这一点?

我试图用这样的变量交换curdate:

FROM my_db WHERE DATE >= '". $startdate ."' - INTERVAL 10 ".$grouping1." GROUP BY ".$grouping."(DATE) order by DATE desc limit 1

但即使变量(开始日期)发生变化,周/月保持不变。

编辑:我的 $startdate 变量的格式如下 2013-05-07 并且 mysql 数据库中的 DATE 列是日期格式。

和平/阿迪斯

4

2 回答 2

1

就像是:

FROM my_db WHERE DATE >= '".date(Y-m-d, strtotime($my_date))."'

将工作

于 2013-06-17T08:01:10.973 回答
0

尝试这个。

这将从当前日期减去 10 个月

FROM my_db WHERE DATE >= '".date("Y-m-d", strtotime("-10 months"))."'

这将从当前日期减去 10 周

FROM my_db WHERE DATE >= '".date("Y-m-d", strtotime("-10 weeks"))."'
于 2013-06-17T08:05:10.000 回答