teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

修正

2019/05/11 01:01

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -13,4 +13,16 @@
13
13
  $this_month_days = date("t",strtotime($ym."01"));//当月の日数を取得。
14
14
 
15
15
  ```
16
- ※私はmktimeよりstrtotimeをよく採用しているのでこの書き方です。
16
+ ※私はmktimeよりstrtotimeをよく採用しているのでこの書き方です。
17
+
18
+ > そこで試したところ、月変更ボタンを押すと別ファイルに移動するような作りかと認識しているのですが、
19
+
20
+ 説明省いてしまっていましたがindex.phpとしたのは仮で、実際はカレンダーを表示させているプログラムと同じファイル名・URLを指定してください。大事なのはGETで年月のパラメータを渡すことなので。
21
+
22
+ > 年間分プログラムでカレンダーを表示したいです。
23
+
24
+ 「1ページに指定の年の全ての月のカレンダーを表示したい」ということでしたら考え方は同じです。
25
+ パラメータが`年月`になるか`年`になるかの違いです。
26
+ それぞれの年月によって日数は異なりますが、何年であっても月は1から12までしかないので、
27
+ forで1~12を回してパラメータのyと結合して`年月`としたらあとは同じです。
28
+ 多少レイアウトにはよりますが、1~12まで加算していくforループの中に1~その年月の日数分まで加算していくforループが入る形です。

1

修正

2019/05/11 01:01

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -10,7 +10,7 @@
10
10
  echo '<a href="index.php?ym='.$lastmonth.'">前月</a>';
11
11
  echo '<a href="index.php?ym='.$nextmonth.'">次月</a>';
12
12
 
13
- $this_month_days = date("t",strtotime($ym."01"." +1 month "));
13
+ $this_month_days = date("t",strtotime($ym."01"));//当月の日数を取得。
14
14
 
15
15
  ```
16
16
  ※私はmktimeよりstrtotimeをよく採用しているのでこの書き方です。