예약 (달력) 게시판 토요일 선택 비활성화(제외) 방법

예약 (달력) 게시판 토요일 선택 비활성화(제외) 방법

QA

SIR 제작의뢰 - 견적무료/익명보정/호스팅, DB 이전/단기개발. 이젠 ' 의뢰인'이 원하는 '제작자'에게만 연락처를 알릴 수 있습니다.

예약 (달력) 게시판 토요일 선택 비활성화(제외) 방법

본문

안녕하세요.

 

예약 (달력) 게시판 https://sir.kr/g5_skin/16675 에서 토요일은 클릭되지 않도록 할 수 있는 방법이 궁금합니다.

 

 

cal.php 파일소스

 
<?php
error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING );

$board_skin_path = $_SERVER["DOCUMENT_ROOT"]."/skin/board/reserve_calendar";
include_once("$board_skin_path/moonday.php"); // 석봉운님의 음력날짜 함수
$bo_table = $_GET["bo_table"];
$col_height= 80 ;//내용 들어갈 사각공간의 세로길이를 가로 폭과 같도록
$today = getdate();
$today_ymd = date("Ymd",time());
$b_mon = $today['mon'];
$b_day = $today['mday'];
$b_year = $today['year'];
$year = $_GET["year"];
$month = $_GET["month"];
if ($year < 1) { // 오늘의 달력 일때
  $month = $b_mon;
  $mday = $b_day;
  $year = $b_year;
}
if(!$year)  $year = date("Y");
$file_index = $board_skin_path."/day"; ### 기념일 폴더 위치 지정
### 양력 기념일 파일 지정 : 해당년도 파일이 없으면 기본파일(solar.txt)을 불러온다
if(file_exists($file_index."/".$year.".txt")) {
 $dayfile = file($file_index."/".$year.".txt");
} else {
 $dayfile = file($file_index."/solar.txt");
}
$lastday=array(0,31,28,31,30,31,30,31,31,30,31,30,31);
if ($year%4 == 0) $lastday[2] = 29;
$dayoftheweek = date("w", mktime (0,0,0,$month,1,$year)); 
?>

<div class="schedule">
    <div class="tit_month">
     <span class="btn_before">
      <!-- <a href="<?php echo $_SERVER["PHP_SELF"]."?bo_table=".$bo_table."&"; ?><?php if ($month == 1) { $year_pre=$year-1; $month_pre=12; } else {$year_pre=$year; $month_pre=$month-1;} echo ("year=$year_pre&month=$month_pre");?>">왼쪽</a> -->
      <a href="javascript:void(0);" onclick="<?php if ($month == 1) { $year_pre=$year-1; $month_pre=12; } else {$year_pre=$year; $month_pre=$month-1;} ?>javascript:getCal('<?php echo $year_pre?>','<?php echo $month_pre?>');">왼쪽</a>
     </span>
     <span class="year_text">
      <!-- <a href="<?php echo $_SERVER["PHP_SELF"]."?bo_table=".$bo_table; ?>" title="오늘로"><?php echo "$year.  ".sprintf("%02d",$month); ?></a> -->
      <a href="javascript:void(0);" title="오늘로" onclick="javascript:getCal('<?php echo date("Y",time())?>','<?php echo date("n",time())?>');"><?php echo "$year.  ".sprintf("%02d",$month); ?></a>
     </span>
     <span class="btn_next">
      <!-- <a href="<?php echo $_SERVER["PHP_SELF"]."?bo_table=".$bo_table."&"; ?><?php if ($month == 12) { $year_pre=$year+1; $month_pre=1; } else {$year_pre=$year; $month_pre=$month+1;} echo ("year=$year_pre&month=$month_pre");?>">오른쪽</a> -->
      <a href="javascript:void(0);" onclick="<?php if ($month == 12) { $year_pre=$year+1; $month_pre=1; } else {$year_pre=$year; $month_pre=$month+1;} ?>javascript:getCal('<?php echo $year_pre?>','<?php echo $month_pre?>');">오른쪽</a>
     </span>
    </div>
    <table class="sche_table" border="0" summary="예약">
     <thead>
      <tr>
       <th scope="col">일</th>
       <th scope="col">월</th>
       <th scope="col">화</th>
       <th scope="col">수</th>
       <th scope="col">목</th>
       <th scope="col">금</th>
       <th scope="col" class="last">토</th>
      </tr>
     </thead>
     <tbody>
<?php
 // 달력의 틀을 보여주는 부분
 $cday = 1;
 $temp = 7 - (($lastday[$month]+$dayoftheweek)%7);
 if ($temp == 7) $temp = 0;
  $lastcount = $lastday[$month]+$dayoftheweek + $temp;
 for ($iz = 1; $iz <= $lastcount; $iz++)
 {
  $bgcolor = "#ffffff";  // 쭉 흰색으로 칠하고
  if ($b_year==$year && $b_mon==$month && $b_day==$cday) {
   $bgcolor = "#DEFADE";      //  "#DFFDDF"; // 오늘날짜 연두색으로 표기
  }
  if (($iz%7) == 1) {
   echo ("<tr>"); // 주당 7개씩 한쎌씩을 쌓는다.
  }
  if ($dayoftheweek < $iz  &&  $iz <= $lastday[$month]+$dayoftheweek) {
   
   // 전체 루프안에서 숫자가 들어가는 셀들만 해당됨
   // 즉 11월 달에서 1일부터 30 일까지만 해당
   
   $daytext = "$cday";   // $cday 는 숫자 예> 11월달은 1~ 30일 까지
   $yes_cls = "yes";
   //$daytext 은 셀에 써질 날짜 숫자 넣을 공간
   $daycontcolor = "" ;
   $daycolor = "";
   
   $td_last = "";
   if ($iz%7 == 1) {
    $daycolor = "red"; // 일요일
   }
   if ($iz%7 == 0) {
    $daycolor = "blue"; // 토요일
    $td_last = "last";
   }
   $f_date = $year.sprintf("%02d",$month).sprintf("%02d",$cday);
   // 기념일 파일 내용 비교위한 변수 선언, 월과 일을 두자리 포맷으로 고정
   if (strlen($month) == 1) {
    $monthp = "0".$month ;
   } else {
    $monthp = $month ;
   }
   if (strlen($cday) == 1) {
    $cdayp = "0".$cday ;
   }
   else {
    $cdayp = $cday ;
   }
   $memday = $year.$monthp.$cdayp;
   $daycont = "" ;
   // 기념일(양력) 표시
   for($i=0 ; $i < sizeof($dayfile) ; $i++) {  // 파일 첫 행부터 끝행까지 루프
    $arrDay = explode("|", $dayfile[$i]);
    if($memday == $year.$arrDay[0]) {
     $daycont = $arrDay[1];
     $daycontcolor = $arrDay[2];
     if(substr($arrDay[2],0,3)=="red") $daycolor = "red"; // 공휴일은 날짜를 빨간색으로 표시
    }
   }
   // 석봉운님의 음력날짜 변수선언
   $myarray = soltolun($year,$month,$cday);
  
   // 음력 절기 파일, 기념일 추가시 else if 구문 복사해서 사용하세요. 한자리 날짜는 한자리로 써야 합니다.
   if ( $myarray["month"].'/'.$myarray["day"]=="12/30" ) { // 설연휴
    $daycolor="red" ;
   }
   else if ( $myarray["month"].'/'.$myarray["day"]=="1/1" ) { // 설날
    $daycolor="red" ;
   }
   else if ( $myarray["month"].'/'.$myarray["day"]=="1/2" ) { // 설연휴
    $daycolor="red" ;
   }
   else if ( $myarray["month"].'/'.$myarray["day"]=="4/8" ) { // 석가탄신일
    $daycolor="red";
   }
   else if ( $myarray["month"].'/'.$myarray["day"]=="8/14" ) { // 추석연휴
    $daycolor="red" ;
   }
   else if ( $myarray["month"].'/'.$myarray["day"]=="8/15" ) { // 추석
    $daycolor="red" ;
   }
   else if ( $myarray["month"].'/'.$myarray["day"]=="8/16" ) { // 추석연휴
    $daycolor="red" ;
   }
   else {
    $annivmoonday="" ;
   }
   if ($annivmoonday&&$daycont) {
//    $blank="<br />"; // 음력절기와 양력기념일이 동시에 있으면 한칸 띔
   }
   else {
    $blank="";
   }
   if($daycolor == "red") {
    $yes_cls = "red";
   }
  
   if($today_ymd > $f_date) {
    $yes_cls = "";
   }

   // 여기까지 숫자와 들어갈 내용에 대한 변수들의 세팅이 끝나고
   // 이제 여기 부터 직접 셀이 그려지면서 그 안에 내용이 들어 간다.
   echo "<td class='$td_last $yes_cls {curr_date:\"$f_date\"}'>";
   echo "$daytext $moonday";
   echo $html_day[$cday];
   echo ("</td>");  // 한칸을 마무리
   $cday++; // 날짜를 카운팅
  }
  // 유효날짜가 아니면 그냥 회색을 칠한다.
  else {
   echo ("     <td> </td>");
  }
  if (($iz%7) == 0) {
   echo ("  </tr>");
  }
 }
?>
     </tbody>
    </table>
    <div class="date_ok yeardate">
     <span class="date_choice year_class"></span><span>을 선택하셨습니다.</span>
    </div>
   </div>
 

 

 

 

time.php 파일소스

<?php
error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING );
include_once('./_common.php');
$currdate = $_GET["currdate"];

$nowdate = date("Ymd",time());
$day_type = date("N",strtotime($currdate)); // 1~5 평일, 6 토요일
//echo $k2 = substr($bb,6, 6);
$time_array[1] = array("오전 10:30","오전 11:00","오전 11:30","오후 12:00","오후 12:30","오후 14:00","오후 14:30","오후 15:00","오후 15:30","오후 16:00","오후 16:30","오후 17:00","오후 17:30","오후 18:00","오후 18:30");
$time_array[2] = array("오전 10:30","오전 11:00","오전 11:30","오후 12:00","오후 12:30","오후 14:00","오후 14:30","오후 15:00","오후 15:30","오후 16:00","오후 16:30","오후 17:00","오후 17:30","오후 18:00","오후 18:30","오후 19:00","오후 19:30","오후 20:00","오후 20:30");
$time_array[3] = array("오전 10:30","오전 11:00","오전 11:30","오후 12:00","오후 12:30","오후 14:00","오후 14:30","오후 15:00","오후 15:30","오후 16:00","오후 16:30","오후 17:00","오후 17:30","오후 18:00","오후 18:30");
$time_array[4] = array("오전 10:30","오전 11:00","오전 11:30","오후 12:00","오후 12:30","오후 14:00","오후 14:30","오후 15:00","오후 15:30","오후 16:00","오후 16:30","오후 17:00","오후 17:30","오후 18:00","오후 18:30","오후 19:00","오후 19:30","오후 20:00","오후 20:30");
$time_array[5] = array("오전 10:30","오전 11:00","오전 11:30","오후 12:00","오후 12:30","오후 14:00","오후 14:30","오후 15:00","오후 15:30","오후 16:00","오후 16:30","오후 17:00","오후 17:30","오후 18:00","오후 18:30");
$time_array[6] = array("오전 10:30","오전 11:00","오전 11:30","오후 12:00","오후 12:30","오후 14:00","오후 14:30","오후 15:00","오후 15:30","오후 16:00","오후 16:30");

$now_hour = date("H:i",time());
 
$query = "select * from g5_write_res WHERE wr_1='".$currdate."' ";
$result = sql_query($query);
$a = array();
for($i=0;$row=sql_fetch_array($result);$i++){ $a[$i]=$row['wr_2']; }

$admin_write1 = sql_fetch(" select count(*) as cnt from g5_write_res where wr_1='".$currdate."'  ");
$total = count($time_array[$day_type]) - $admin_write1['cnt'];
?>
 
<div class="schedule">
 <div class="time">
  <div class="time_list" id="time_list">
   <ul class="bu4" id="time_list2">
<?php
$sym_diff = array_values(array_diff(array_merge($time_array[$day_type], $a), array_intersect($time_array[$day_type], $a)));
for($i=0; $i<$total; $i++){
$reservation_yn = "N";
$aaa = $sym_diff[$i];
$k2 = substr($aaa,6, 6);
$now = date("H:i");
$k2 = str_replace(':','',$k2);
$now =  str_replace(':','',$now);
  $v_strtotime = strtotime($currdate.$k2);
  $now_strtotime = strtotime($nowdate.$now);
  
  if ($v_strtotime > $now_strtotime )
  {
   $reservation_yn = "Y";
  }
?>

 <li class="time_cls {currtime:'<?php echo $aaa?>',reservation_yn:'<?php echo $reservation_yn?>'}"><a href="javascript:void(0);" class="showme"><?php echo $aaa?> <?php echo $reservation_yn=="Y"?"(예약가능)":"(예약불가)"?></a></li>

<?} ?>
   <li> </li>
   </ul>
  </div>
 </div>
</div>
<div class="date_ok timedate">
 <span class="date_choice time_class"></span><span>을 선택하셨습니다.</span>
</div>

 

감사합니다.

이 글을 내 페이스북 계정으로 보내기 이 글을 내 트위터 계정으로 보내기 이 글을 내 구글플러스 계정으로 보내기

이 질문에 댓글 쓰기 :

답변 1

채택됨

Mins아빠님의 답변

if($daycolor == "red") {
 $yes_cls = "red";
}

이 부분을 아래와 같이 수정하시면 됩니다.

if($daycolor == "red" || $daycolor == "blue") {
 $yes_cls = $daycolor;
}
주소복사
채택됨
답변의 댓글
답변을 작성하시기 전에 로그인 해주세요.
전체 73,390 | RSS
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT