채택완료

공휴일 확인 방법

Copy
$today = date("Y-m-d");

 

$w = date("w");
            $w_txt = "";
            switch($w) {
                case "0" :
                    $w_txt = "일요일";
                    break;
                case "1" :
                    $w_txt = "월요일";
                    break;
                case "2" :
                    $w_txt = "화요일";
                    break;
                case "3" :
                    $w_txt = "수요일";
                    break;
                case "4" :
                    $w_txt = "목요일";
                    break;
                case "5" :
                    $w_txt = "금요일";
                    break;
                case "6" :
                    $w_txt = "토요일";
                    break;
            }

 

위 소스에다가

 

              case "7" :
                    $w_txt = "공휴일";
                    break;

 

공휴일을 추가 하고 싶습니다..

가능할까요?

 

cccc 테이블에 아래 이미지처럼 공휴일이 들어가 있습니다

2039449303_1743641184.5954.jpg

|

답변 3개 / 댓글 4개

채택된 답변
+20 포인트

Copy
$today = date("Y-m-d");
$holiday_query = "SELECT 2222 FROM cccc WHERE 1111 = '$today'";
$holiday_result = mysqli_query($conn, $holiday_query);

if (mysqli_num_rows($holiday_result) > 0) {

$w_txt = "공휴일";

} else {
    $w = date("w");
    $w_txt = "";
    switch($w) {
        case "0":
            $w_txt = "일요일";
            break;
        case "1":
            $w_txt = "월요일";
            break;
        case "2":
            $w_txt = "화요일";
            break;
        case "3":
            $w_txt = "수요일";
            break;
        case "4":
            $w_txt = "목요일";
            break;
        case "5":
            $w_txt = "금요일";
            break;
        case "6":
            $w_txt = "토요일";
            break;
    }
}


echo $w_txt;

 

이렇게 해보시겠어요 ?

답변에 대한 댓글 2개

항상 감사합니다
오류가 납니다.

오늘 날짜를 1111 컬럼에 추가 해서 해봤는데
목요일 이 리턴이 되네요
공휴일 이 리턴이 되야 합니다 ㅠㅠ

평소에는 요일이 리턴이 되고
공휴일에는 공휴일이 리턴이 되야합니다
답변으로 다시 달았습니다.

978180634_1743646093.2651.png

 

978180634_1743646111.6387.png

 

테스트 해보니 잘 됩니다.

 

아래 코드로 사용해보세요

 

Copy
$today = date("Y-m-d");

$holiday_query = "SELECT `2222` FROM `cccc` WHERE `1111` = '$today'";
$holiday_result = mysqli_query($conn, $holiday_query);

if ($holiday_result && mysqli_num_rows($holiday_result) > 0) {
    $holiday_data = mysqli_fetch_assoc($holiday_result);
    $w_txt = "공휴일 (" . $holiday_data['2222'] . ")";
} else {
    $w = date("w");
    $w_txt = "";
    switch($w) {
        case "0":
            $w_txt = "일요일";
            break;
        case "1":
            $w_txt = "월요일";
            break;
        case "2":
            $w_txt = "화요일";
            break;
        case "3":
            $w_txt = "수요일";
            break;
        case "4":
            $w_txt = "목요일";
            break;
        case "5":
            $w_txt = "금요일";
            break;
        case "6":
            $w_txt = "토요일";
            break;
    }
}
echo $w_txt;

답변에 대한 댓글 1개

감사합니다..
복 받으실 꺼에요 ㅎㅎ

$row = sql_fetch( "select count(*) as cnt from `cccc` where `1111` = '{$today}'" );

if($row['cnt'] > 0) $w_txt = "공휴일"; 을 하시면 될 거 같습니다. 스위치문에 넣으시기 보다는요

답변에 대한 댓글 1개

$w = date("w"); 랑 혼선 생기는거 아닌가여?

오류납니다 ㅠㅠ

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