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

10일지나면 자동으로 공지를 해제하고 일반글로 전환하는 부분입니다 채택완료

GREENnBLUE 7년 전 조회 2,600

write_update.php 추가부부

 

$sql = " update {$write_table}                 set ca_name = '{$ca_name}',                      wr_option = '{$html},{$secret},{$mail}',                      wr_subject = '{$wr_subject}',                      wr_content = '{$wr_content}',                      wr_link1 = '{$wr_link1}',                      wr_link2 = '{$wr_link2}',                      mb_id = '{$mb_id}',                      wr_name = '{$wr_name}',                      wr_email = '{$wr_email}',                      wr_homepage = '{$wr_homepage}',                      wr_1 = '{$wr_1}',                      wr_2 = '{$wr_2}',                      wr_3 = '{$wr_3}',                      wr_4 = '{$wr_4}',                      wr_5 = '{$wr_5}',                      wr_6 = '{$wr_6}',                      wr_7 = '{$wr_7}',                      wr_8 = '{$wr_8}',                      wr_9 = '{$wr_9}',                      wr_10 = '{$wr_10}',                      wr_11 = '".G5_TIME_YMDHIS."',                      wr_12 = '{$wr_12}',                      wr_13= '{$wr_13}'

 

db_table.optimize.php

// 10일이 지난 공지글 삭제 $sql = " select bo_table,bo_notice from {$g5['board_table']} where bo_notice <> '' "; $result = sql_query($sql); while ($row=sql_fetch_array($result)) {     if($row['bo_table']=='a1' || $row['bo_table']=='a3'){      notice_delete($row['bo_table'],$row['bo_notice'],1); } }

 

common.lib.php

function notice_delete($bo_table,$wr_id,$day){ global $g5;     $write_table = $g5['write_prefix'].$bo_table;

    $notice = "";     $notice_array = explode(",", $wr_id);

    for($i=0;$i

        $sql = "select count(wr_id) as cnt from $write_table where wr_id='{$notice_array[$i]}' and (TO_DAYS('".G5_TIME_YMDHIS."') - TO_DAYS(wr_11)) > '{$day}' ";         $row = sql_fetch($sql);

        if($row['cnt']>0){             $bo_notice = board_notice($wr_id, $notice_array[$i], $notice);             sql_query("update {$g5['board_table']} set bo_notice = '{$bo_notice}' where bo_table = '{$bo_table}'");         }     } }

 

고수님들 답변 감사드립니다. 10일지나면 자동으로 공지를 해제하고 일반글로 전환하는 부분을 답변주신데로 했는데 하루로 잡고 설정해보니 하루지나도 공지가 해제되지 않습니다.

db에는 wr_1대신 wr_11에 정상적으로 값이 쓰여지는데 공지해제가 되지 않네요.;;

고수님들 답변 부탁드립니다.

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

답변 4개

채택된 답변
+20 포인트

안풀립니다. 날짜의 차이는 1 소스에는 차이 > $day로 되어 있어서  차이가 2일이 되어야 풀리는 걸로......

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

답변에 대한 댓글 1개

G
GREENnBLUE
7년 전
답변 감사합니다. 하루 더 있어봐야 알수 있겠군요.;;

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

S
7년 전

날짜 비교 구문을 변경

 

and (TO_DAYS('".G5_TIME_YMDHIS."') - TO_DAYS(wr_11)) > '{$day}' 

==>

and (UNIX_TIMESTAMP('".G5_TIME_YMDHIS."') - UNIX_TIMESTAMP(wr_11)) > ($day*86400)

 

변경 후 테스트하시기 전에  g5_config 테이블의  cf_optimize_date 필드 날짜를 어제 날짜로 변경하신 후 테스트 해보세요

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

답변에 대한 댓글 2개

G
GREENnBLUE
7년 전
답변 감사합니다. 변경하니 홈페이지가 버그가 생깁니다. 역시 마찮가지입니다.;;
G
GREENnBLUE
7년 전
감사합니다.^^ 앞에 알려주신데로 해서 해결 되었습니다.

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

select to_days('2018-06-15 00:00:01') = 737225

select to_days('2018-06-16 23:59:59') = 737226

 

혹시 위의 문제 약 48시간 차이인데 날수는 1일

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

답변에 대한 댓글 1개

G
GREENnBLUE
7년 전
불꽃사랑님 답변 감사드립니다.^^
db쪽에 wr_11에 내용이 2018-06-14 13:58:19 입니다.
현재시간이면 공지가 풀리고 일반글이 되야 하는데 그대로 네요;;

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

포인트 존나조아

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

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

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

로그인