- ベストアンサー
カレンダーを3ヶ月先まで表示させたい
- カレンダーを3ヶ月先まで表示させる方法について教えてください。
- Kent Webさんの「Web Calen(カレンダ日記)」を使っていますが、カレンダーを3か月先まで1ページに表示させたいです。
- カレンダー表示の部分で月に数値をプラスする処理を行っているため、正しく表示されません。自動的に西暦を読み込んでカレンダーを表示させるにはどのように編集すれば良いでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ANo.1です。 とりあえず貴殿が使用されているCGIを参考にすると 以下のような形になります。 # $year : 現在の年 # $month : 現在の月 # $Y2 : 翌月の年 # $month2 : 翌月の年 # $Y3 : 翌々月 # $month3 : 翌々月 $month2 = $month + 1; #翌月は現在の月+1 $Y2 = $year; #翌月の年は現在の年 if ($month2 > 12) { #翌月が12より大きい場合は $month2 -= 12; #翌月 = 翌月 - 12 $Y2 = $year + 1; #翌月の年は、現在の年 + 1 } $month3 = $month2 + 1; #翌々月は翌月+1 $Y3 = $Y2; #翌々月の年は翌月の年 if ($month2 > 12) { #翌々月が12より大きい場合は $month2 -= 12; #翌々月 = 翌月 - 12 $Y3 = $Y2 + 1; #翌々月の年は、翌月の年 + 1 } 翌月の年月を算出する部分は関数にしたほうがスマートでしょう。 また、現在時刻からの換算で年月を割り出す方法もあります。 勉強してください。
その他の回答 (2)
- Tanigucchi
- ベストアンサー率70% (43/61)
ANo.1です。 先ほど提示したソースを理解してください。 同じ処理を $month2, $month3 に行えばできるはずです。
補足
なんどももうしわけありません。。 ●calen.cgi の 220行目から でしょうか???
- Tanigucchi
- ベストアンサー率70% (43/61)
NEXTボタンの次月決定の処理と同じことをすれば解決します。 ちなみにNEXTボタンの処理は 以下。(コメントは下名が追加) ●calen.cgi の 220行目から $next = $month + 1; #次月は現在の月+1 $Y2 = $year; #次月の年は現在の年 if ($next > 12) { #次月が12より大きい場合は $next -= 12; #次月 = 次月 - 12 $Y2 = $year + 1; #次月の年は、現在の年 + 1 }
補足
有難うございます。 実は、NEXTボタン(value=\"$next\")を使わずに表示しています。 ボタンで次の月へ行くのではなく、ボタンなしで3ヶ月分表示したいとのですが(>_<) むずかしいでしょうか。。。
お礼
何度もすみませんでした。 Tanigucchiさんの説明を元にif関数を使ってなんとかできました。