웹마스터 팁

http://myru.cafe24.com/study/calendar.php요즘 다이어리 만든답시고;; 이것 저것 공부하다 한번 만들어봤습니다.
참고로 TheMics님의 강좌를 참조하여 공부 했었습니다....(TheMics님 감사...^^;;)
주석을 옆에 달아놓았고...위쪽에 참고로 적어놓은 시간관련 함수들 보시면 이해가 되실겁니다.
<?/////연도달력?>
<html>
<head>
<style>
body
{scrollbar-face-color: #ffffff;
scrollbar-highlight-color: #336699;
scrollbar-3dlight-color: #ffffff;
scrollbar-shadow-color: #336699;
scrollbar-darkshadow-color: #ffffff;
scrollbar-track-color: #ffffff;
scrollbar-arrow-color: #336699}

body, td, select, input, div, form, textarea, center, option, pre, blockquote{font-size:9pt; font-family:Verdana; color:#666666;}

A:link    {color:#336699;text-decoration:none;}
A:visited {color:#336699;text-decoration:none;}
A:active  {color:#336699;text-decoration:none;}
A:hover   {color:#c0c0c0;text-decoration:none;}
</style></head>
<!--
Y : 네자리 연도, 예) 1999
y : 두자리 연도, 예) 99
z : 해당 연도의 날짜수, 0부터 366까지
m : 월 숫자, 01부터 12까지
n : 월 숫자, 0이 붙지 않음. 1부터 12까지
F : 월 이름, 문자열. January, Febrary 등
t : 주어진 월의 일수 혹은 주어진 달의 마지막 일, 28부터 31까지
d : 일(day), 앞에 0이 붙은 2자리 숫자, 01부터 31까지
j : 앞에 0이 없는 일, 1부터 31까지(d 참고)
D : 요일 이름, 3글자의 영문자. Sun, Mon 등
w : 요일 숫자, 0(일요일) 부터 6(토요일)
-->
<body>
<?
if(!$y) $y = date("Y"); //연도 입력이 없는 경우 올해로
$p_y = $y - 1; //이전해
$n_y = $y + 1; //다음해
$t_m = date("n"); //지금이 몇월인가
$t_y = date("Y"); //지금이 몇년도인가
?>
<table width="640" align="center" style="border-width:1; border-color:#336699; border-style:dashed;">
<tr>
<td width="100" align="left">   <b><font style="font-size:8pt"><a href="<?=$php_self?>?y=<?=$p_y?>"><?=$p_y?>년</a></font></b></td>
<td width="440" align="center"><b><font color="ff6633"><?=$y?>년</font></b></td>
<td width="100" align="right"><b><font style="font-size:8pt"><a href="<?=$php_self?>?y=<?=$n_y?>"><?=$n_y?>년</a></font></b>   </td>
</tr>
</table>

<table  width="640" align="center" cellpadding="0" cellspacing="0">
<tr><td colspan="5" height="20"></td></tr>
<tr>
<?
for($i=1;$i<=12;$i++) {
        $l_d = date("t",mktime(0,0,0,$i,1,$y)); //각 월의 마지막 날
        $start = date("w",mktime(0,0,0,$i,1,$y)); //각 월의 1일이 무슨요일인가
        $last = date("w",mktime(0,0,0,$i,$l_d,$y)); //각 월의 마지막 날이 무슨요일인가
        $f = date("F",mktime(0,0,0,$i,1,$y)); //영어로 된 달이름
        if($i == $t_m and $y == $t_y) {
                $m = "<b>$f</b>"; // 이번달은 두꺼운 글자로 처리
        } else {
                $m = "$f";
        }
?>
<td>

<table width="200" height="130" style="border-width:1; border-color:#336699; border-style:dashed;">
<tr><td colspan="7" align="center"><font color="#336699"><?=$m?></font></td></tr>
<tr>
<?
        if($start != 0) { //1일이 일요일이 아닐경우 밀리는 만큼 <td></td> 반복
                for($r_s=1;$r_s<=$start;$r_s++) {
?>
<td> </td>
<?
                }
        }
        for($j=1;$j<=$l_d;$j++) { //각 월별로 일자 반복
                $d_k = date("w",mktime(0,0,0,$i,$j,$y));
                if($d_k == "0") { // 일요일일 경우 주황색으로
?>
<td align="center"><font color="#ff6633"><?=$j?></font></td>
<?
                } elseif($d_k == "6") { //토요일일 경우 녹색으로, <tr> 삽입
?>
<td align="center"><font color="#339933"><?=$j?></font></td></tr><tr>
<?
                 } else {
?>
<td align="center"><?=$j?></td>
<?
                }
        }
        if($last != 6) { //말일이 토요일이 아닐경우 남는 만큼 <td></td> 반복
                for($k=1; $k<=6-$last;$k++) {
?>
<td> </td>
<?
                }
        }
?>
</tr></table>

<?
        if($i == 3 or $i == 6 or $i == 9) { //3월, 9월, 6월일 경우 <tr>삽입
?>
</td></tr><tr><td colspan="5" height="20"></td></tr><tr>
<?
        } elseif($i == 12) { //12월일 경우
?>
</td>
<?
        } else { // 다른 달일 경우 달력 테이블 끝난 후 공백 삽입
?>
        </td><td width="20"> </td>
<?
        }
}
?>
</tr></table>
제목 글쓴이 날짜
[PHP 동영상강좌] 9. form태그를 이용한 값의 전달 [15] 서기 2005.11.22
[PHP 동영상강좌] 8. Get방식의 전달과 테이블, 스타일태그의 사용 [13] 서기 2005.11.22
[PHP 동영상강좌] 7. Get방식을 이용한 변수의 전달 [12] 서기 2005.11.22
[PHP 동영상강좌] 6. Hello PHP [14] 서기 2005.11.22
[PHP 동영상강좌] 5. 웹서버/웹브라우져/PHP란 무엇인가 [12] 서기 2005.11.17
[PHP 동영상강좌] 4. 스타일 시트 [17] 서기 2005.11.17
[PHP 동영상강좌] 3. 테이블 태그의 심화 [10] 서기 2005.11.17
[PHP 동영상강좌] 2. 하이퍼링크, 테이블태그의 사용방법 [15] 서기 2005.11.17
[PHP 동영상강좌] 1. HTML이란 무엇인가! [22] 서기 2005.11.17
주민등록번호 진위확인 [5] file 엔시™ 2005.11.08
예전에 책원고로 만들었던것인데 필요한분 사용하세요 [7] file 유창화 2005.10.22
이쁜 달력소스입니다. [2] file 최문혁 2005.09.05
자기계정에서 file()가 잘안될때.... [5] 이진환님 2005.08.18
일년치 달력을 한꺼번에 보자!!! [4] 未淚 2005.08.07
효율적인 경로 지정하기 [9] 대류 2005.07.27
대용량 파일 업로드 컴포넌트 [4] file OTLNO 2005.06.15
트랙백 기능 구현하기. 태규 2005.06.12
나만의 미니홈 만들기 ㅡ 메모장 소스 예뜨락 2005.06.09
mysql 테이블 스키마 보는법. [2] 최문혁 2005.05.14
나만의 미니홈 만들기 ㅡ 메모장 디자인 (html 소스) [4] 예뜨락 2005.05.12