= $daily_limit) { alert("하루에 등록 가능한 비주얼은 최대 {$daily_limit}개입니다. 내일 다시 시도해주세요."); } } // ----------------------------------------------------------------------------- // 규칙 2: 예약 기간 중복 검사 // ----------------------------------------------------------------------------- // '예약 노출'을 선택했을 때만 검사합니다. if (isset($_POST['wr_1']) && $_POST['wr_1'] == 'RESERVED') { // 폼에서 전송된 시작일과 종료일을 가져옵니다. $start_date = isset($_POST['wr_2']) ? trim($_POST['wr_2']) : ''; $end_date = isset($_POST['wr_3']) ? trim($_POST['wr_3']) : ''; // 두 날짜가 모두 입력되었을 때만 검사를 실행합니다. if ($start_date && $end_date) { // '예약 노출'로 설정된 다른 게시물 중, 날짜가 겹치는 것이 있는지 찾습니다. // (신규 시작일 <= 기존 종료일) AND (신규 종료일 >= 기존 시작일) -> 이 조건이 참이면 겹치는 것입니다. $sql = " SELECT wr_id, wr_subject FROM {$write_table} WHERE wr_is_comment = 0 AND wr_1 = 'RESERVED' AND ( '{$start_date}' <= wr_3 AND '{$end_date}' >= wr_2 ) "; // 글 수정($w == 'u') 시에는, 현재 수정 중인 자기 자신은 검사 대상에서 제외합니다. if ($w == 'u' && $wr_id) { $sql .= " AND wr_id != '{$wr_id}' "; } $sql .= " LIMIT 1 "; // 겹치는 것이 하나라도 있으면 바로 찾기를 중단합니다. $row = sql_fetch($sql); // 만약 겹치는 게시물이 발견되면, 오류 메시지를 띄우고 중단합니다. if (isset($row['wr_id']) && $row['wr_id']) { $colliding_subject = get_text(cut_str($row['wr_subject'], 30)); alert("선택하신 예약 기간에 이미 다른 비주얼이 등록되어 있습니다.\\n\\n[중복된 게시물: {$colliding_subject}]\\n\\n날짜를 다시 확인해주세요."); } } } ?>