2026, 새로운 도약을 시작합니다.

날짜 체크 오류 질문 채택완료

주말 공휴일 체크해서 영업일 기준으로 접수일에서 7일이 지나면 접수취소되는건데

해당되는건만 취소가 되어야 하는데 지금은 해당1건이 있어도 전체가 다 취소가 되어버려서요

조건문 코드를 어떻게 수정해줘야 해당건만 취소가 될까요?

Copy


$sql = " select * from `video_coaching` where vc_status = '접수중' ";

$result = sql_fetch($sql);

if($result) {

    $holiday = array();

    foreach($holiday as $row) {

        array_push($holiday, date("Y-m-d", strtotime($row['locdate'])));

    }

    $predictionDate = calcDayOffDate(date($result['vc_time']), '7', $holiday);

    if(date("Y-m-d") > $predictionDate) {

        $sql = " update `video_coaching` set vc_status = '접수취소' ";

        sql_query($sql);

    }

}

답변 2개

채택된 답변
+20 포인트

$sql = " update `video_coaching` set vc_status = '접수취소' ";

이 부분에 고유값을 추가해주세요

만약 vc_id 가 고유값이라면,

$sql = " update `video_coaching` set vc_status = '접수취소' where vc_id='{$result['vc_id']}' ";

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

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

코드 자체가 전체 접수취소 되게끔 되어있습니다.

Copy


$sql = " update `video_coaching` set vc_status = '접수취소' ";

싸그리 다 접수 취소 해주셈...이란 뜻입니다

Copy



if(date("Y-m-d") > $predictionDate) {
        $sql = " update `video_coaching` set vc_status = '접수취소' ";
        sql_query($sql);
    }
}

위 코드를 아래 처럼 변경 해보세요

Copy


while ($row = sql_fetch_array($result)) {

$vc_time = $row['vc_time'];

$predictionDate = calcDayOffDate(date("Y-m-d", strtotime($vc_time)), '7', $holiday);

if (date("Y-m-d") > $predictionDate) { // 개별 건에 대해 상태를 '접수취소'로 업데이트

$update_sql = "UPDATE `video_coaching` SET vc_status = '접수취소' WHERE vc_id = '{$row['vc_id']}'";

sql_query($update_sql);

    }

}

?>

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

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

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

로그인
🐛 버그신고