YesYo.com MintState Forums  
뒤로    YesYo.com MintState BBS > Tech > PHP
검색
멤버이름  오토
비밀번호 
 

 
작성일 : 11-10-21 11:48
달력 소스
 글쓴이 : MintState
조회 : 5,692  
달력 소스

달력소스는 거의다 비슷비슷 합니다.
그중 하나를 소개 합니다. 참고 하셔서 프로그램 하시면 될것 같네요.

<? 
/****************************** 
                  달력 
******************************/
/********** 사용자 설정값 **********/ 
$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
첨부 파일
파일 종류: php calendar.php (3.8K, 7 views)
파일 종류: zip calendar.zip (6.9K, 3 views)
Rated 0/5 (0%) (0 Votes)

(\__/)
(='.'=)
(")_(")~
Search Infomation by MintState
MintState

 
 

Total 160
번호 제   목 글쓴이 날짜 조회
160 첫문자를 대문자, 소문자로 변경하는 함수 MintState 08-08 245
159 header를 이용한 페이지 이동 함수 MintState 07-31 248
158 URL에서 한글만 인코딩 MintState 05-29 349
157 youtube preg_replace pattern MintState 02-22 635
156 특정 디렉토리의 하위파일 목록 가져오기 MintState 02-21 631
155 [정규식] 해시태그(#) 뽑아내기 MintState 11-12 2530
154 serialize unserialize 배열정보를문자열의 형태로 변환 MintState 12-08 2553
153 실시간 화면 출력 flush, ob_flush MintState 02-26 5000
152 [MYSQL] 생년월일로 나이 반환 MintState 01-22 7027
151 php 절사 MintState 07-27 4890
150 Referer URL 이용하여 검색엔진 키워드 뽑아내기 MintState 02-10 5437
149 달력 소스 MintState 10-21 5693
148 MYSQL 예약어 MintState 05-02 7925
147 페이징 클래스 v1.0 (PHP4/5) MintState 04-18 6767
146 GD 라이브러리 MintState 04-17 7313
145 GD를 이용한 기본기능 썸네일,CROP,CROP썸네일,텍스트 만들기 MintState 04-17 6883
144 xml 통신(수신) - Web 언어별 MintState 03-14 7225
143 무조건 알아야 할 PHP 속도 테스트 14 가지 MintState 03-04 6956
142 PHP를 이용하여 MYSQL Sleep 프로세스 죽이기 MintState 01-18 8548
141 youtube 주소로 정보 반환 MintState 07-02 8703
140 방문자의 브라우저와 OS등을 가져 오는 클레스 MintState 07-02 11206
139 Allowed memory size Error 발생시 처리방법 MintState 06-30 9169
138 AES 256-bit 암호화 MintState 04-28 14649
137 PHP 5.3.0 부터 POSIX Regex 함수 제거 MintState 02-12 8513
136 [Function] json_encode(), json_decode() MintState 01-13 14763
 1  2  3  4  5  6  7  
모바일 버전으로 보기
CopyRight ©2004 - 2017, YesYo.com MintState. ™