質問編集履歴

2

補足

2016/06/24 04:56

投稿

leoairen
leoairen

スコア122

test CHANGED
File without changes
test CHANGED
@@ -4,15 +4,19 @@
4
4
 
5
5
  ```
6
6
 
7
- $tsuki = '月';
7
+ $tsuki = '月';
8
8
 
9
+ $list ="";
10
+
11
+ $list2 ="";
12
+
9
- for($i = 0, $m = date('n', strtotime(date('Y-m-1').' +'.$i.' month')), $m < 13; $i < 2; $i++){
13
+ for($i = 0; $m = date('n', strtotime(date('Y-m-1').' +'.$i.' month')), $m < 13 and $i < 2; $i++){
10
14
 
11
15
  $list .= <<<EOF
12
16
 
13
17
  <h2>$m$tsuki</h2>
14
18
 
15
- <table>
19
+ <table cellspacing="0" summary="calendar">
16
20
 
17
21
  <tr>
18
22
 
@@ -36,9 +40,127 @@
36
40
 
37
41
  EOF;
38
42
 
43
+ print $list;
39
44
 
40
45
 
46
+
47
+ // 1日の曜日を取得
48
+
49
+ $wd1 = date("w", mktime(0, 0, 0, $m, 1, $y));
50
+
51
+
52
+
53
+ // その数だけ空のセルを作成
54
+
55
+ for ($i = 1; $i <= $wd1; $i++) {
56
+
57
+ echo "<td> </td>";
58
+
59
+ }
60
+
61
+ $d = 1;
62
+
63
+
64
+
65
+ while (checkdate($m, $d, $y)) {
66
+
67
+
68
+
69
+ // 日曜:赤色
70
+
71
+ if(date("w", mktime(0, 0, 0, $m, $d, $y)) == 0)
72
+
73
+ {
74
+
75
+ echo "<td class='sun'>$d</td>";
76
+
77
+ }
78
+
79
+ // 祝日:赤色
80
+
81
+ else if(!empty($national_holiday[date("Y-m-d", mktime(0, 0, 0, $m, $d, $y))]))
82
+
83
+ {
84
+
85
+ echo "<td class='sun'>$d</td>";
86
+
87
+ }
88
+
89
+ // 本日:シルバー
90
+
91
+ else if ($d == date('j') && $y == date('Y') && $m == date('n'))
92
+
93
+ {
94
+
95
+ echo "<td class='today'>$d</td>";
96
+
97
+ }
98
+
99
+ // 土日祝以外
100
+
101
+ else{
102
+
103
+ echo "<td class='date'>$d</td>";
104
+
105
+ }
106
+
107
+
108
+
109
+ // 週の始まりと終わりでタグを出力
110
+
111
+ if (date("w", mktime(0, 0, 0, $m, $d, $y)) == 6)
112
+
113
+ {
114
+
115
+ // 週を終了
116
+
117
+ echo "</tr>";
118
+
119
+
120
+
121
+ // 次の週がある場合は新たな行を準備
122
+
123
+ if (checkdate($m, $d + 1, $y)) {
124
+
125
+ echo "<tr>";
126
+
127
+ }
128
+
129
+ }
130
+
131
+
132
+
133
+ $d++;
134
+
135
+ }
136
+
137
+
138
+
139
+ // 最後の週の土曜日まで空のセルを作成
140
+
141
+ $wdx = date("w", mktime(0, 0, 0, $m + 1, 0, $y));
142
+
143
+
144
+
145
+ for ($i = 1; $i < 7 - $wdx; $i++)
146
+
147
+ {
148
+
149
+ echo "<td> </td>";
150
+
151
+ }
152
+
153
+
154
+
155
+ $list2 .= <<<EOF
156
+
157
+ </tr>
158
+
41
- <!--中略:日の処理-->
159
+ </table>
160
+
161
+ EOF;
162
+
163
+ print $list2;
42
164
 
43
165
  }
44
166
 

1

書式の改善

2016/06/24 04:56

投稿

leoairen
leoairen

スコア122

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  どなたか教えて頂けますでしょうか。
4
4
 
5
-
5
+ ```
6
6
 
7
7
  $tsuki = '月';
8
8
 
@@ -41,3 +41,5 @@
41
41
  <!--中略:日の処理-->
42
42
 
43
43
  }
44
+
45
+ ```