0

以下のコードは、週または月のいずれかでグループ化されたデータベースからのものを選択してエコーすることです。私はこれらをさらにいくつか持っており、次にオフセットを使用して 2 番目の週などを取得します。

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

2 つの質問があります。

  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 db の 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 に答える