BLOG main image
만만돌이's Blog
잡다한 공간?;;

'만들기'에 해당되는 글 1건

  1. 2006/09/18 [php] 달력 만들기?!-,.-;

[php] 달력 만들기?!-,.-;

잡다한 공간?; 2006/09/18 20:20 by 만만돌이

오늘 참 글 많이 적는 것 같네요-_-;
보통 이렇게 글을 많이 적어보기는 처음인듯;;
세부적으로 주석을 다 달아놨어요 보면 쉽게 이해할듯
그러니 특별히 이번은 설명 생략!!

<link rel="stylesheet" href="car.css">
<?php
extract($_GET);
extract($_POST);
extract($_SERVER);

//===================================================================
// Calendar() 함수
//===================================================================

function Calendar() {

global $currYear,$currMonth,$currDay;

$days = array("일", "월", "화", "수", "목", "금", "토");

$months = array
("", "1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월");

// 각 달의 날(day)의 수
$totalDays = array(0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

if(!$currYear) { $currYear = date("Y"); } // 년도
if(!$currMonth) { $currMonth = date("n"); } // 달
if(!$currDay) { $currDay = date("j"); } // 일

// 윤년에는 28일을 29일로 수정! 2004년,2008년에 29일 --> 2월
if (date("L", mktime(0,0,0,$currMonth,1,$currYear)))
{
$totalDays[2] = 29;
}

$prevMonth = $currMonth-1;
$prevYear = $currYear;

if ($prevMonth < 1)
{
$prevMonth=12;
$prevYear--;
}

$nextMonth = $currMonth+1;
$nextYear = $currYear;

if ($nextMonth > 12)
{
$nextMonth=1;
$nextYear++;
}

// 이번달의 첫번째 요일 구하기
$firstDayOfMonth = date("w", mktime(0,0,0,$currMonth,1,$currYear));

$x=0;

?>

<table border="0" cellpadding="2" cellspacing="5">
<!-- 달 출력하기 , 이동 하기 -->
<tr>
<td>
<a href="<? echo $PHP_SELF; ?>?currMonth=<? echo $prevMonth; ?>&currYear=<? echo $prevYear; ?>">&lt;&lt;
</a></td>
<td colspan="5" align="CENTER"><b>
<? echo $currYear."년 " .$months[$currMonth] ; ?></b></td>

<td><a href="<? echo $PHP_SELF; ?>?currMonth=<? echo $nextMonth; ?>&currYear=<? echo $nextYear; ?>">&gt;&gt;</a></td>
</tr>


<tr>
<?
// 요일 출력 하기
for ($x=0; $x<7; $x++)
{
echo "<td>" . substr($days[$x],0,3) . "</td>";
}
?>
</tr>

<tr>
<?
// 이달의 첫번째 날 출력 하기 - 첫번째 날이 나올때 까지 공백 출력
for ($x=1; $x<=$firstDayOfMonth; $x++)
{
$rowCount++;
echo "<td> </td>\n";
}

$dayCount=1;
while ($dayCount <= $totalDays[$currMonth])
{
if ($rowCount % 7 == 0) // 1주일 씩 나누어야 하므로
{
 echo "</tr>\n<tr>\n";
}


if ($dayCount == date("j") && $currYear == date("Y") && $currMonth == date("n")) // 오늘 인 경우
{
 echo "<td align=center bgcolor=#F3F3F3><a href=$PHP_SELF?currYear=" . $currYear . "&currMonth=" . $currMonth . "&currDay=" . $dayCount . "><b>" . $dayCount. "</b></a>";
}else if ($dayCount == $currDay) // 선택한 날 인 경우
{
 echo "<td align=center bgcolor=#F1FCFE><b>" . $dayCount. "</b>";
}else{  // 오늘이 아닌 경우
 echo "<td align=center><a href=$PHP_SELF?currYear=" . $currYear . "&currMonth=" . $currMonth . "&currDay=" . $dayCount . ">" . $dayCount . "</a>";
}  

echo "</td>\n";
$dayCount++;
$rowCount++;

} // end while
?>
</tr>

</table>
<?
} // end function Calendar()


##### 달력 보여주기
Calendar();
?>

샘플



1 

카테고리

분류 전체보기 (30)
xml (8)
여행-_-!! (0)
주저리 주저리 (16)
몽상 공간 -_-; (1)
잡다한 공간?; (5)
너를 (0)

달력

«   2008/12   »
  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