わかりました、ここではコーディングよりも物流上の質問がありますが、コード例/ソリューションは両方に答える可能性があるので、ここに行きます...
PHP で start_date と end_date (完全に m/d/Y 形式) で渡すフォームがあり、その範囲に該当する mysql データベースのすべてのエントリのテーブルを出力する必要がある場合 (m1/d1/ からY1 から m2/d2/Y2) を月ごとにグループ化する場合、どのようにすればエレガントな方法でそれを行うことができますか?
たとえば、start_date = 5/20/2012、end_date = 7/31/2012 を渡す場合、次の形式で結果を表示するには、結果のテーブルが必要です。
May 2012 | June 2012 | July 2012
.... | .... | .....
2012 年 5 月の最初の列には、次のような mysql クエリの結果が表示されます。
SELECT ... WHERE signup_date >= 5/20/2012 AND signup_date <= 5/31/2012
2012 年 6 月も同様に次のように表示されます。
SELECT ... WHERE signup_date >= 6/1/2012 AND signup_date <= 6/30/2012
等
そのため、開始日と終了日を解析して、月の開始日から月末まで適切に配置された日付の配列に変換する方法を探しています。end_date が数か月後の場合は、他のすべてをカバーします。その間の月全体 (その月の 1 日から最後まで) を使用して、for/while ループでそれらを循環させることができますか? 次のようなものです:
[0]['開始'] => '2012 年 5 月 20 日'
[0]['終了'] => '2012 年 5 月 31 日'
[1]['開始'] => '2012 年 6 月 1 日'
[1]['終了'] => '2012 年 6 月 30 日'
[2]['開始'] => '7/1/2012'
[2]['終了'] => '2012 年 7 月 31 日'
何か案は?