테스트 사이트 - 개발 중인 베타 버전입니다

게시판에서 최근날짜와 기존에 저장된 글의 날짜 비교 부탁드립니다. 채택완료

wjdgjs1982 7년 전 조회 2,091

list라는 테이블에 기존 data들이 저장되어 있는데요 여기서 새로 하나의 게시물을 저장할 때 기존 list라는

필드 중 같은 wr_subject를 찾아서 최근글 하나만 추출 후 wr_19 (날짜이구요  2017-11-27 이런 식으로 저장되어 있습니다.)와 새로 저장하려는 wr_19를 비교한 후 7일 이후라면 wr_30에는 10을 7일 이전이라면 0을

저장하고 싶습니다. 아래 소스대로 해봤는데 정상적으로 되는 건 되고 안되는 건 적용이 안되기도 하고

뒤죽박죽 이에요... 고수님들의 도움을 얻고자 글 남겨봅니다. 부탁드립니다.

 

$rows2 = sql_fetch("select * from g5_write_bbt_report where wr_subject = '$wr_subject' order by wr_last desc "); $start_day = $rows2['wr_19']; $end_day = date('Y-m-d', strtotime("$wr_19")); $add_start_day = explode("-",$start_day); $add_end_day = explode("-",$end_day);

$st_time = mktime(0,0,0,$add_start_day[1],$add_start_day[2],$add_start_day[0]); $ed_time = mktime(0,0,0,$add_end_day[1],$add_end_day[2],$add_end_day[0]);

$pin = intval(($ed_time-$st_time)/86400);

 

 

생략

 

if($pin > 7) { $wr_30 = 10; }

else { $wr_30 = 0; }

 

 

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

답변 1개

채택된 답변
+20 포인트

일단 몇가지 이상한 부분이 있습니다.

최신글 하나를 추출한다고 하시면..

$sql=".........*******  limit 1 ";

을넣으셔야 합니다. 물론 하나만 동일데이타가 (wr_subject) 가  있다면 문제는 없겠습니다만.

데이타가 많으면 무조건 문제가 생깁니다.

 

나머지는 개발자마다 성향이 달라 뭐라 말씀드리기 뭐합니다만

strtotime("$wr_19")) strtotime을 타입스탬프를 사용하신다면

7일을  86400*7 로 계산에 사용하시는것이 더 정확할 것입니다.

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

답변에 대한 댓글 2개

w
wjdgjs1982
7년 전
답변 너무 감사드립니다.
7일을 86400*7로 하라 하셨던데
혹시 소스가 $pin = intval(($ed_time-$st_time)/86400 * 7) 이렇게 되는건가요?
공명과맥
7년 전
안녕하세요.
그소스하곤 다르게 접근하셔야할것같습니다.


strtotime("$wr_19")): 이경우 타임스탭프로 생성이 되니...

$start_day = strtotime($rows2['wr_19']);
$end_day = strtotime("$wr_19");

/************************/
$add_start_day = explode("-",$start_day);
$add_end_day = explode("-",$end_day);
$st_time = mktime(0,0,0,$add_start_day[1],$add_start_day[2],$add_start_day[0]);
$ed_time = mktime(0,0,0,$add_end_day[1],$add_end_day[2],$add_end_day[0]);
/******************************/
이부분이 필요없어질겁니다. mktime 이 타임스탬프 생성하는 함수인데 위에 만들었으니 말이죠

그럼
if(($end_day-$start_day) > 86400*7) { $wr_30 = 10; }
else { $wr_30 = 0; }
이렇게 되겠네요. 좀 정리가 필요한 부분입니다만...타임스탬프로 하시면 정확히 나올겁니다.

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

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

로그인