홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
간단한 달력구현
11년 전
date함수와 mktime함수를 이용한 간단한 달력입니다.
자세한 내용은 소스를 참조하세요... ^^*

=======================================================

<?
# 현재 페이지 URL
$php_url = "cal.php";

# 날짜별 색상값
$col_sun   = "red";
$col_sat   = "blue";
$col_day   = "balck";
$col_today = "#B6CADE";

# 각 칸의 넓이 높이
$day_width  = 80;
$day_height = 80;

$last_line = false; # 마지막 주인가?

# 넘어온 날자값 받기
$cur_year = $_REQUEST['year']; # 년도값
$cur_mon  = $_REQUEST['mon'];  # 월값
$cur_day  = date("d");         # 일값

# 날짜값 받아오기 - 넘어온값이 없으면 오늘 날짜값 호출
if($cur_year == "" || $cur_mon == "") {
  $cur_year = date("Y");
  $cur_mon  = date("m");
}

# 이전달 다음달 값가져오기
$prev_mon = sprintf("%02d", $cur_mon - 1);
if($prev_mon == 0) {
  $prev_mon = 12;
  $prev_year = $cur_year - 1;
}
else {
  $prev_year = $cur_year;
}

$next_mon = sprintf("%02d", $cur_mon + 1);
if($next_mon > 12) {
  $next_mon = "01";
  $next_year = $cur_year + 1;
}
else {
  $next_year = $cur_year;
}


# 해당월 첫째날 요일값 가져오기: 예) 일요일-0 토요일-6
$first_week = date("w", mktime(0, 0, 0, $cur_mon, 1, $cur_year));

# 해당월 마지막 날짜값 가져오기  예) 28, 30, 31
$last_day   = date("t", mktime(0, 0, 0, $cur_mon, 1, $cur_year));

# 요일 배열
$arr_week = array("일", "월", "화", "수", "목", "금", "토");


echo "<div align=center>\n";

// 날짜표시 및 월이동부분 출력
$tbl_width = $day_width*7;
echo "<table border=0 width=$tbl_width>";
echo "<tr>";
echo "<td width=130><a href=$php_url?year=$prev_year&mon=$prev_mon>이전달</a></td>";
echo "<td align=center>$cur_year 년 $cur_mon 월</td>";
echo "<td width=130 align=right><a href=$php_url?year=$next_year&mon=$next_mon>다음달</a></td>";
echo "</tr>\n";
echo "</table>\n";

echo "<br>\n";

echo "<table border=1>";
echo "<tr>";
foreach($arr_week as $week) {
  $week_col = ($week == "일") ? $col_sun : (($week == "토") ? $col_sat : $col_day);
  echo "<td align=center style='color:$week_col'>$week</td>";
}


# 임시 일자
$tmp_day = 1;

# 각 주별로 출력
for($cnt_line = 1; $cnt_line <= 6; $cnt_line++) {
  echo "<tr>";
  for($cnt_week = 0; $cnt_week < 7; $cnt_week++) {
   $week_col = ($cnt_week == 0) ? $col_sun : (($cnt_week == 6) ? $col_sat : $col_day);
   # 블렝크 출력 체킹 (1. 첫주면서 철일의 요일 이전, 2. 마지막 일자값이 지난경우)
   if(($cnt_line == 1 && $cnt_week < $first_week) || $tmp_day > $last_day) {
    $day_val = " ";
   }
   else {
    $day_val = $tmp_day;
    $tmp_day++;
   }

   # 오늘 날짜 스타일 적용 폰트굵게 배경색 지정
   $style_day = ($cur_year == date("Y") && $cur_mon  == date("m") && $day_val == $cur_day) ? "font-weight:bold;background-color:$col_today" : "";
  
   echo "<td width=$day_width height=$day_height align=center style='color:$week_col;$style_day'>$day_val</td>";
  }
  echo "</tr>\n";
  # 마지막 주 체킹
  if($tmp_day > $last_day) {
   break;
  }
}


echo "</tr>\n";
echo "</table>\n";

echo "</div>\n";
?>
추천추천 : 606 추천 목록
번호 제목
3,033
 PHP 정규식 정리
3,032
 PHP 정규식을 활용한 태그 및 특정 문자열 제거 및 추출 방법
3,031
 php 크롤링 또는 파싱 함수, 정규식 모음
3,030
 제이쿼리 기본 명령어
3,029
 웹페이지 가로 모드세로 모드 인식하기
3,028
 모바일 웹 화면 강제 회전(가로모드 고정)
3,027
 [HTML5]에서 frameset 대체 방법과 iframe 속성
3,026
 HTML <Audio> 사용법
3,025
 윈도우10 시스템파일 손상 (초간단 오류 복구방법!!)
3,024
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,023
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,022
 CSS Layout 수평 & 수직 정렬
3,021
 여러 도메인들 간 쿠키 공유하기
3,020
 태그 사이에 있는 텍스트를 추출
3,019
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,018
 쿠키 생성,가져오기,삭제
3,017
 사용자 함수 모음
3,016
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,015
 [HTML5] <video> - DOM으로 제어하기
3,014
 HTML5 video 태그에서 영상 좌우반전
3,013
 PHP - 특정 태그 및 문자열 추출, 제거
3,012
 [PHP] define과 defined의 차이
3,011
 우클릭 완벽차단 스크립트
3,010
 iframe 높이 100% 맞추기
3,009
 curl 함수를 이용한 HTTP REFERER 변경
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.