忍者ブログ
  ちゃんとカテゴリ分けされておりませんので、 記事をお探しならブログ内検索が便利です。 ご活用くださいませー+.(≧∀≦)゚+.゚
Admin*Write*Comment
[643]  [642]  [641]  [640]  [639]  [638]  [637]  [636]  [635]  [634]  [633

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。




普段はオペをしている方がPHPを勉強したいと言って、カレンダーを作っていた。
サンプルにしているソースコードの解釈を手伝っていたのですが、自分で書いたらどうなるだろうと、今回チャレンジしてみました。
つまり、やらなきゃよかったシリーズですね♪

preタグが使えればいいのに・・・

拍手


<?php

// HTML処理
$site_title = date("Y年m月のカレンダー");

// カレンダー処理
$week_head = array('<font color="red">日</font>', "月", '火', '水', '木', '金' ,'<font color="blue">土</font>');
$first_day = date("Ym") . "01"; // YYYYMMDD形式
$last_day = date("j", strtotime(date("Y") . date("m") + 1 . "00")); // M形式
$last_u_day = strtotime(date("Y") . date("m") + 1 . "00"); // UNIX time
$cal_head_null = date("w", strtotime($first_day));

$count = 0; $day = 1;
while($last_u_day >= mktime(0, 0, 0, date("m"), $day, date("Y"))){
    $cal_data[] = "<tr>";
    for($i=1; $i<=7; $i++){
        if($count < $cal_head_null){
            $cal_data[] = "<td></td>";
        }elseif($last_day < $day){
            $cal_data[] = "<td></td>";
            $day++;
        }else{
            switch(date("w", mktime(0, 0, 0, date("m"), $day, date("Y")))){
                case 0:
                    $cal_data[] = "<td><font color=\"red\">" . $day . "</font></td>";
                    break;
                case 6:
                    $cal_data[] = "<td><font color=\"blue\">" . $day . "</font></td>";
                    break;
                default:
                    $cal_data[] = "<td><font color=\"black\">" . $day . "</font></td>";
            }
        $day++;
        }
        $count++;
    }
    $cal_data[] = "</tr>";
}

?>


<!DOCTYPE html> 
<html lang="ja"> 
<head> 
<!-- 文字コード指定が簡素に --> 
<meta charset="utf-8"> 
<title><?= $site_title ?></title> 
</head> 
<body> 
<h1><?= $site_title ?></h1>
<table border="1">
    <?php
        echo "<tr>";
        foreach($week_head as $head){
            echo "<td>".$head."</td>";
        }
        echo "</tr>";
        foreach($cal_data as $data){
            echo $data;
        }
    ?>
</table>
</body> 
</html> 

PR



COMMENT
Name
Title
Color
Mail
URL
Text
Pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
secret

TRACKBACK
TrackbackURL:
ブログ内検索
カレンダー
04 2017/05 06
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
カウンター
最新コメント
最新トラックバック
プロフィール
+ハンドル+
y_ayamori(purple)
+職業+
IT系エンジニア
+すまい+
さいたま
バーコード
ブログパーツ
アバター
Copyright © アナログを愛するデジタル生活館 All Rights Reserved.
photo by Kun material by Atelier Black/White Template by Kaie
忍者ブログ [PR]