채택완료

날짜 비교하는것좀 알려주세요ㅜㅜ

2019-07-03 (수) 17:01:41 3,374

$member['mb_4'] 에 날짜들어가는 형식은 2019-07-03

이런식으로 값이 들어가는데요

Copy
$last_date = $member['mb_4']; 
$to_date = date("Y-m-d", time());  

$total_day = (strtotime($last_date) - strtotime($to_date) ) / 86400;

현재시간 구하는거를 가져와서

mb_4에 날짜와 현재시간보다 날짜가 이전이면 -14 이런식으로 -(마이너스) 값이 들어가는데

Copy
else if($member['mb_level'] == '5'){

    if($total_day > 0 && $member['mb_4']){

      레벨다운 업데이트쿼리

    }

}

이렇게 조건을 주니까그냥 조건과 상관없이 레벨 5인 회원이 레벨이 하향이되는데 

뭐가문제일까요ㅜㅜ?

|

답변 2개

채택된 답변
+20 포인트

echo $total_day  로 일단 $total_day  값을 확인해보세요.
그리고 원하시는 것이 그냥 현재 날짜보다 mb_4 가 이전이면 레벌을 다운시키는 것이면 
위에 부분은 필요없이 

Copy
else if($member['mb_level'] == '5'){

  if($member['mb_4']&&strtotime($member['mb_4']) < time()){
         레벨다운 업데이트쿼리
    }

이렇게 하면 되지않을까요?

2019-07-03 (수) 17:27:42

보여주신 부분은 문제없어보입니다.

올려주신 소스 그대로 표현해봤습니다.

$last_date = " 2019-07-03"; 

$to_date = date("Y-m-d", time());  
 $total_day = (strtotime($last_date) - strtotime($to_date) ) / 86400;

if($total_day > 0 && $last_date){
 echo "쿼리실행";
}

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