お世話になります。
phpにてカレンダー作成中です。
カレンダーの右上に矢印のリンクを貼ってGETで前月、次月を表示したいのですが上手くいきません。どのようにすれば表示できるのでしょうか?
php
1<center> 2<table border="1"> 3今月のカレンダー 4 5 6<a href="?ym=<?php echo $prev; ?>">«</a> 7<a href="?ym=<?php echo $next; ?>">»</a> 8<tr> 9<th>日</th> 10<th>月</th> 11<th>火</th> 12<th>水</th> 13<th>木</th> 14<th>金</th> 15<th>土</th> 16</tr> 17<tr> 18<?php 19// 年月を取得する 20$ym_now = date("Ym"); 21$y = substr($ym_now, 0, 4); 22$m = substr($ym_now, 4, 2); 23// 1日の曜日を取得 24$wd1 = date("w", mktime(0, 0, 0, $m, 1, $y)); 25 26// その数だけ空白を表示 27for ($i = 1; $i <= $wd1; $i++) { 28 echo "<td> </td>"; 29} 30 31 32 33$d = 1; 34while (checkdate($m, $d, $y)) { 35 echo "<td>$d</td>"; 36 // 今日が土曜日の場合は… 37 if (date("w", mktime(0, 0, 0, $m, $d, $y)) == 6) { 38 // 週を終了 39 echo "</tr>"; 40 41 // 次の週がある場合は新たな行を準備 42 if (checkdate($m, $d + 1, $y)) { 43 echo "<tr>"; 44 } 45 } 46 $d++; 47} 48 49// 最後の週の土曜日まで移動 50$wdx = date("w", mktime(0, 0, 0, $m + 1, 0, $y)); 51for ($i = 1; $i < 7 - $wdx; $i++) { 52 echo "<td> </td>"; 53} 54?> 55</tr> 56</table> 57</center>``` 58 59 60よろしくお願い致します。
タイトルには要件を記載してください。またコードは```で囲いますが前後に改行を入れないとコードとして認識されず、今のようにそのまま表示されてしまいます。正常にできているかどうかは質問編集画面でリアルタイムプレビューがでるので、そちらを確認しながら調整してださい
あと「うまくいかない」だけでは何が起きているか伝わりませんので、起きている現象、問題、エラーメッセージを具体的に記載してください
申し訳ございません。
いえ怒っているとかそういうのではありませんよ。質問内容が見やすくなっているのと充実しているのは回答もつきやすくなりますし問題の解決を早めます。質問は編集できますので適宜対応していただければと。
$prev、$nextが未定義だと思うのですが、もっと全体のコードをはってください。もしこれが全体なら参考にしたサイトなどがあれば追記してください
お世話になります。こちら参考サイトになります。https://php1st.com/1001
拝見しましたが、$prev/$nextはありませんね。オリジナルに追加したということでしょうか?とりあえず、先頭の行で$prev=8, $next=10としてはいかがでしょう?
回答1件
あなたの回答
tips
プレビュー