날짜 비교문 관련 채택완료

662111144_1615356783.5972.png

이렇게 일정을 확인을 클릭 하면 ajax 파일에서 확인을 하는데요

ajax 체크 파일

Copy
$sql = "select count(*) as cnt from g5_write_schedule WHERE mb_id = '".$_POST['mb_id']."' and wr_1 <= '".$_POST['from']."' AND wr_2 >= '".$_POST['to']."' ";
$row = sql_fetch($sql);
$count = $row['cnt'];

if($count) {
    echo 'ok';
}

g5_write_schedule 에 등록된 값

662111144_1615356845.8236.png

작업일정확인 체크를 하면 db에서 분명 wr_1 과 wr_2 날짜 사이라서 겹치는 날짜라고 안내를 할려고 하는데 겹치는데도 count 가 true 가 안잡히네요..

답변 2개

채택된 답변
+20 포인트

넘겨받는 

$_POST['from']
와
$_POST['to']

를 찍어보세요

동일하게 숫자로만 구성된 값이맞는지를요

그리고, 기간비교를 할때 주의하셔야 할점은

작업희망일과 

작업시작~종료일이 중첩되는 부분이 모호하다는 점입니다.

wr_1, wr_2 의 의미가

시작일부터 종료일 이라면

검색의 범위도 멀티로 하시는게 안전합니다.

시작일인 $_POST['from']가

where

('".$_POST['from'] ."' between wr_1 and wr_2 

or '".$_POST['to'] ."' between wr_1 and wr_2 )

와 같이 말이죠

그러면 시작~종료일이 겹치는 구간에 대해서 검색하게 됩니다.

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

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

if($count > 0) {
}
로그인 후 평가할 수 있습니다

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

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

로그인
🐛 버그신고