• 締切済み

はじめまして。

はじめまして。 PHPを勉強中の者です。 壁にぶち当たってしまったので、ご指導いただければ幸いです。 ★質問 下記プログラムにtableで枠を囲いたいのですが、どうやればよいのでしょうか。 ------------------------ <?php for($a=1;$a<=31;$a++){ print $a; if($a%7==0){ print "<br>"; } } ?> ------------------------ 8月のカレンダーの単純な表を作りたく、1~31までの数字を7で改行するようにしています。 これにtableタグを使って枠の作成と、土曜日欄は青で表示、日曜日の欄は赤で表示させるように作りたいのですが、どうやればよいのかわかりません。 ご指導いただけないでしょうか。 宜しくお願いいたします。

みんなの回答

回答No.2

<? PHP print '<table border="1"><tbody>'; for($cell=0;$cell<35;$cell++) { if ($cell%7==0){ print '<tr>'; } print '<td align="center" valign="middle">'; $a = $cell+1; if (($a >= 1)&&($a <= 31)) { print '<font color="'; if ($cell%7==0) { print 'red'; } else if ($cell%7==6) { print 'blue'; } else { print 'black'; } print '">'.strval($a).'</font>'; } print '<br></td>'; if ($cell%7==6){ print '</tr>'; } } print '</tbody></table>'; ?>

mi-co3750
質問者

お礼

magicalpassさま ご回答いただきありがとうございました。 tableの使い方がわからなかったのですが、とても参考になりました。 お忙しい中貴重なお時間を割いていただきましてありがとうございます。 感謝いたします。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

めんどうであればPEAR::Calendarなどで処理すればいいかと思いますが 簡単なヒントだけ。 まず、数値を日付データにします $d=mktime(0,0,0,8,$a,2010); これに対して、曜日はdateで検出できます $youbi=date("w",$d);

mi-co3750
質問者

お礼

yambejpさま 早速のご回答ありがとうございます。 すみません、tableを使ってカレンダーの単純な表だけを作りたいので、 今回特にカレンダーの機能は省いているのです。 for構文をtableでどう表にするか、というのがわからないのです…。 PHP初心者で質問内容が分かりづらく申し訳ありません。 貴重なお時間をご回答に割いていただきまして、ありがとうございました。

関連するQ&A

専門家に質問してみよう