달력 소스
페이지 정보
작성자 MintState 댓글 0건 조회 14,026회 작성일 11-10-21 11:48본문
달력 소스
달력소스는 거의다 비슷비슷 합니다.
그중 하나를 소개 합니다. 참고 하셔서 프로그램 하시면 될것 같네요.
추가 : 달력 소스 하나 추가 합니다.
calendar.zip 출처는 http://dev.previl.net
달력소스는 거의다 비슷비슷 합니다.
그중 하나를 소개 합니다. 참고 하셔서 프로그램 하시면 될것 같네요.
<?
/******************************
달력
******************************/
/********** 사용자 설정값 **********/
$startYear = 2007;
$endYear = date( "Y" ) + 4;
/********** 입력값 **********/
$year = ( $_GET['toYear'] )? $_GET['toYear'] : date( "Y" );
$month = ( $_GET['toMonth'] )? $_GET['toMonth'] : date( "m" );
$doms = array( "일", "월", "화", "수", "목", "금", "토" );
/********** 계산값 **********/
$mktime = mktime( 0, 0, 0, $month, 1, $year ); // 입력된 값으로 년-월-01을 만든다
$days = date( "t", $mktime ); // 현재의 year와 month로 현재 달의 일수 구해오기
$startDay = date( "w", $mktime ); // 시작요일 알아내기
// 지난달 일수 구하기
$prevDayCount = date( "t", mktime( 0, 0, 0, $month, 0, $year ) ) - $startDay + 1;
$nowDayCount = 1; // 이번달 일자 카운팅
$nextDayCount = 1; // 다음달 일자 카운팅
// 이전, 다음 만들기
$prevYear = ( $month == 1 )? ( $year - 1 ) : $year;
$prevMonth = ( $month == 1 )? 12 : ( $month - 1 );
$nextYear = ( $month == 12 )? ( $year + 1 ) : $year;
$nextMonth = ( $month == 12 )? 1 : ( $month + 1 );
// 출력행 계산
$setRows = ceil( ( $startDay + $days ) / 7 );
?>
<!---------- 달력 출력 ---------->
<center>
<table style="border-collapse:collapse;">
<form method="get">
<tr>
<td style="padding:10;border-width:1;border-style:solid;">
<select name="toYear" onchange="submit();">
<? for( $i = $startYear; $i < $endYear; $i++ ) { ?>
<option value="<?=$i?>" <?=($i==$year)?"selected":""?>><?=$i?></option>
<? } ?>
</select>년
<select name="toMonth" onchange="submit();">
<? for( $i = 1; $i <= 12; $i++ ) { ?>
<option value="<?=$i?>" <?=($i==$month)?"selected":""?>><?=$i?></option>
<? } ?>
</select>월
</td>
</tr>
</form>
</table>
<br>
<table style="border-collapse:collapse;">
<tr>
<td style="padding:10;border-width:1;border-style:solid;">
<input type="button" onclick="location.href='<?=$_SERVER['PHP_SELF']?>?toYear=<?=$prevYear?>&toMonth=<?=$prevMonth?>'" value=" << ">
<?=$year?>년 <?=$month?>월
<input type="button" onclick="location.href='<?=$_SERVER['PHP_SELF']?>?toYear=<?=$nextYear?>&toMonth=<?=$nextMonth?>'" value=" >> ">
</td>
</tr>
</table>
<br>
<table cellpadding=0 cellspacing=0 style="border-collapse:collapse;">
<tr>
<?
for( $i = 0; $i < count( $doms ); $i++ ) {
?>
<td align="center" style="padding:6;border-width:1;border-style:solid;"><?=$doms[$i]?>요일</td>
<?
}
?>
</tr>
<?
for( $rows = 0; $rows < $setRows; $rows++ ) {
?>
<tr>
<?
for( $cols = 0; $cols < 7; $cols++ ) {
// 셀 인덱스 만들자
$cellIndex = ( 7 * $rows ) + $cols;
?>
<?
// 이번달이라면
if ( $startDay <= $cellIndex && $nowDayCount <= $days ) {
?>
<td align="center" style="padding:6;border-width:1;border-style:solid;">
<?
if ( date( "w", mktime( 0, 0, 0, $month, $nowDayCount, $year ) ) == 6 ) {
?>
<b><font color="blue"><?=$nowDayCount++?></font></b>
<?
} else if ( date( "w", mktime( 0, 0, 0, $month, $nowDayCount, $year ) ) == 0 ) {
?>
<b><font color="red"><?=$nowDayCount++?></font></b>
<?
} else {
?>
<b><?=$nowDayCount++?></b>
<?
}
?>
</td>
<?
// 이전달이라면
} else if ( $cellIndex < $startDay ) {
?>
<td align="center" style="padding:6;border-width:1;border-style:solid;">
<font color="gray"><b><?=$prevDayCount++?></b></font>
</td>
<?
// 다음달 이라면
} else if ( $cellIndex >= $days ) {
?>
<td align="center" style="padding:6;border-width:1;border-style:solid;">
<font color="gray"><b><?=$nextDayCount++?></b></font>
</td>
<?
}
}
?>
</tr>
<?
}
?>
</table>
</center>
추가 : 달력 소스 하나 추가 합니다.
calendar.zip 출처는 http://dev.previl.net|
|
댓글목록
등록된 댓글이 없습니다.





달력 소스