CakePHP2009/07/21マッチー
どれだけ使う機会があるかどうかは分からないけれど、今日たまたま、2つの月の差を出したいという状況に出くわしたので、ちょいとメモ。ブログの月別アーカイブなんかを作るときに使えるかもしれない。セレクトボックスで月を選択するとその月の記事の一覧に飛べる、みたいなね。
ここでは、ブログの記事が2009年1月から今日(2009年7月)まで存在すると仮定しよう。
何の説明もせずにソースだけ書いたけど、こんな感じでOK。$month1の方には常に現在の月が入力される。
これでフォームヘルパーのセレクトメソッドを使えば、下のような感じのセレクトボックスが作れる。ちなみにdate(‘Y’)に12をかけているのは、たとえば2009年の1月から2008年の1月を引いたら$resultには12が入らなければいけないから、そうしてるっす。
id属性やvalue属性はめんどいのでここでは省略。
これだと月の古い方が上に来てしまうので、逆が良ければソートでもかければいけるさ。