테스트 사이트 - 개발 중인 베타 버전입니다

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

슈퍼레빗s 7년 전 조회 3,398

안녕하세요.

 

예약 (달력) 게시판 https://sir.kr/g5_skin/16675?sfl=wr_subject&stx=%EC%98%88%EC%95%BD">https://sir.kr/g5_skin/16675 에서 토요일은 클릭되지 않도록 할 수 있는 방법이 궁금합니다.

 

 

cal.php 파일소스

 

</strong></p>

<p><?php

error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING );</p>

<p>

$board_skin_path = $_SERVER["DOCUMENT_ROOT"]."/skin/board/reserve_calendar";</p>

<p>include_once("$board_skin_path/moonday.php"); // 석봉운님의 음력날짜 함수</p>

<p>$bo_table = $_GET["bo_table"];</p>

<p>$col_height= 80 ;//내용 들어갈 사각공간의 세로길이를 가로 폭과 같도록

$today = getdate();</p>

<p>$today_ymd = date("Ymd",time());</p>

<p>$b_mon = $today['mon'];

$b_day = $today['mday'];

$b_year = $today['year'];</p>

<p>$year = $_GET["year"];

$month = $_GET["month"];</p>

<p>if ($year < 1) { // 오늘의 달력 일때

  $month = $b_mon;

  $mday = $b_day;

  $year = $b_year;

}</p>

<p>if(!$year)  $year = date("Y");</p>

<p>$file_index = $board_skin_path."/day"; ### 기념일 폴더 위치 지정</p>

<p>### 양력 기념일 파일 지정 : 해당년도 파일이 없으면 기본파일(solar.txt)을 불러온다

if(file_exists($file_index."/".$year.".txt")) {

 $dayfile = file($file_index."/".$year.".txt");

} else {

 $dayfile = file($file_index."/solar.txt");

}</p>

<p>$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)); 

?></p>

<p>

<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);</p>

<p> if ($temp == 7) $temp = 0;

  $lastcount = $lastday[$month]+$dayoftheweek + $temp;</p>

<p> for ($iz = 1; $iz <= $lastcount; $iz++)

 {

  $bgcolor = "#ffffff";  // 쭉 흰색으로 칠하고</p>

<p>  if ($b_year==$year && $b_mon==$month && $b_day==$cday) {

   $bgcolor = "#DEFADE";      //  "#DFFDDF"; // 오늘날짜 연두색으로 표기

  }</p>

<p>  if (($iz%7) == 1) {

   echo ("<tr>"); // 주당 7개씩 한쎌씩을 쌓는다.

  }</p>

<p>  if ($dayoftheweek < $iz  &&  $iz <= $lastday[$month]+$dayoftheweek) {

   

   // 전체 루프안에서 숫자가 들어가는 셀들만 해당됨

   // 즉 11월 달에서 1일부터 30 일까지만 해당

   

   $daytext = "$cday";   // $cday 는 숫자 예> 11월달은 1~ 30일 까지

   $yes_cls = "yes";</p>

<p>   //$daytext 은 셀에 써질 날짜 숫자 넣을 공간

   $daycontcolor = "" ;

   $daycolor = "";

   

   $td_last = "";

   if ($iz%7 == 1) {

    $daycolor = "red"; // 일요일

   }</p>

<p>   if ($iz%7 == 0) {

    $daycolor = "blue"; // 토요일

    $td_last = "last";

   }</p>

<p>   $f_date = $year.sprintf("%02d",$month).sprintf("%02d",$cday);</p>

<p>   // 기념일 파일 내용 비교위한 변수 선언, 월과 일을 두자리 포맷으로 고정

   if (strlen($month) == 1) {

    $monthp = "0".$month ;

   } else {

    $monthp = $month ;

   }</p>

<p>   if (strlen($cday) == 1) {

    $cdayp = "0".$cday ;

   }

   else {

    $cdayp = $cday ;

   }</p>

<p>   $memday = $year.$monthp.$cdayp;

   $daycont = "" ;</p>

<p>   // 기념일(양력) 표시

   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"; // 공휴일은 날짜를 빨간색으로 표시

    }

   }</p>

<p>   // 석봉운님의 음력날짜 변수선언

   $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="" ;

   }</p>

<p>   if ($annivmoonday&&$daycont) {

//    $blank="
"; // 음력절기와 양력기념일이 동시에 있으면 한칸 띔

   }

   else {

    $blank="";

   }</p>

<p>   if($daycolor == "red") {

    $yes_cls = "red";

   }

  

   if($today_ymd > $f_date) {

    $yes_cls = "";

   }</p>

<p>

   // 여기까지 숫자와 들어갈 내용에 대한 변수들의 세팅이 끝나고

   // 이제 여기 부터 직접 셀이 그려지면서 그 안에 내용이 들어 간다.

   echo "<td class='$td_last $yes_cls {curr_date:\"$f_date\"}'>";</p>

<p>   echo "$daytext $moonday";</p>

<p>   echo $html_day[$cday];

   echo ("</td>");  // 한칸을 마무리</p>

<p>   $cday++; // 날짜를 카운팅

  }</p>

<p>  // 유효날짜가 아니면 그냥 회색을 칠한다.

  else {

   echo ("     <td> </td>");

  }</p>

<p>  if (($iz%7) == 0) {

   echo ("  </tr>");

  }

 }

?>

     </tbody>

    </table>

    <div class="date_ok yeardate">

     <span class="date_choice year_class"></span><span>을 선택하셨습니다.</span>

    </div>

   </div></p>

<p> <strong>

 

 

 

time.php 파일소스

</strong></p>

<p><?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"];</p>

<p>

$nowdate = date("Ymd",time());

$day_type = date("N",strtotime($currdate)); // 1~5 평일, 6 토요일</p>

<p>//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");</p>

<p>

$now_hour = date("H:i",time());</p>

<p> </p>

<p>$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']; }</p>

<p>

$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'];</p>

<p>?></p>

<p> </p>

<p><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)));</p>

<p>for($i=0; $i<$total; $i++){

$reservation_yn = "N";</p>

<p>$aaa = $sym_diff[$i];

$k2 = substr($aaa,6, 6);

$now = date("H:i");

$k2 = str_replace(':','',$k2);</p>

<p>$now =  str_replace(':','',$now);</p>

<p>  $v_strtotime = strtotime($currdate.$k2);

  $now_strtotime = strtotime($nowdate.$now);

  

  if ($v_strtotime > $now_strtotime )

  {

   $reservation_yn = "Y";

  }</p>

<p>?></p>

<p>

 <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></p>

<p>

<?} ?>

   <li> </li>

   </ul>

  </div>

 </div>

</div>

<div class="date_ok timedate">

 <span class="date_choice time_class"></span><span>을 선택하셨습니다.</span>

</div></p>

<p><strong>

 

감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
M
7년 전

</p>

<p>if($daycolor == "red") {

 $yes_cls = "red";

}</p>

<p>

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

</p>

<p>if($daycolor == "red" || $daycolor == "blue") {

 $yes_cls = $daycolor;

}</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

슈퍼레빗s
7년 전
와우~ 잘됩니다^^ 감사합니다(_ _)

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인