웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
일년치 달력을 한꺼번에 보자!!!
2005.08.07 14:04
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>
참고로 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>
댓글 4
-
소이
2005.10.19 10:47
Goooooooooooooooooooooooooooooood!!!!!!!!!!!!!!!!!!!! -
장진희
2005.11.30 12:13
아 정말 제가 원하던거예요 ㅎ 감사 -
나무스타일
2005.08.08 18:15
많은 도움이 되겠네요. 고맙습니다. 추천! -
최문혁
2005.09.05 22:38
아름답구려~^^ 좋네요..
제목 | 글쓴이 | 날짜 |
---|---|---|
[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] | 엔시™ | 2005.11.08 |
예전에 책원고로 만들었던것인데 필요한분 사용하세요 [7] | 유창화 | 2005.10.22 |
이쁜 달력소스입니다. [2] | 최문혁 | 2005.09.05 |
자기계정에서 file()가 잘안될때.... [5] | 이진환님 | 2005.08.18 |
일년치 달력을 한꺼번에 보자!!! [4] | 未淚 | 2005.08.07 |
효율적인 경로 지정하기 [9] | 대류 | 2005.07.27 |
대용량 파일 업로드 컴포넌트 [4] | OTLNO | 2005.06.15 |
트랙백 기능 구현하기. | 태규 | 2005.06.12 |
나만의 미니홈 만들기 ㅡ 메모장 소스 | 예뜨락 | 2005.06.09 |
mysql 테이블 스키마 보는법. [2] | 최문혁 | 2005.05.14 |
나만의 미니홈 만들기 ㅡ 메모장 디자인 (html 소스) [4] | 예뜨락 | 2005.05.12 |