• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHP 余分に出来たタグを消したい)

PHPでカレンダーを作成する際に余分なタグを消す方法

このQ&Aのポイント
  • PHP初心者の方がカレンダーを作成している際、最終日が土曜日になると余分な<tr>タグが出力されてしまいます。
  • 原因は、土曜日に7で割り切れる数字がくるため、<tr>タグが入ってしまうためです。
  • 最終セルに最後の日が来たときに<tr>タグを入れないような命令の仕方が分からないとのことです。

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

答えは簡単! <tr> と </tr> を同時に入れなければいいのです。 ご自身で理解されている問題のポイントを if ($tmp % 7 == 0 ) { $s.= "</tr>\n"; } として、 その前の $s.="<td>$i</td>\n"; の前に if ($tmp % 7 == 1) { $s.= "<tr>\n"; } を書き足すと解決します。

xjptm
質問者

お礼

t_ohta様 あれから、QAサイトで教えていただき解決することが出来ました。 ご回答いただきありがとうございました。 ちなみに if($tmp % 7 ==0){ $s.= "</tr>\n"; // 土曜だったら行を閉じる if ($i < $ld) { $s .= "<tr>\n"; // 最終日以外だったら次行の開始を準備 } } に記述を書き換えると解決いたしました。

xjptm
質問者

補足

ご回答ありがとうございます。 とても参考になったのですが、これだと1日が日曜日だった場合に、空の<tr>が入るため、 ・・・ <th class="sat">土</th> </tr> <tr> <tr> ・・・ となってしまいます。 この場合でも、余分な<tr>をいれない方法はございますでしょうか? 1÷7のあまりって1なんですね。理解に苦しみます(>_<)