10일지나면 자동으로 공지를 해제하고 일반글로 전환하는 부분입니다
본문
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<count($notice_array);$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
안풀립니다. 날짜의 차이는 1 소스에는 차이 > $day로 되어 있어서
차이가 2일이 되어야 풀리는 걸로......
select to_days('2018-06-15 00:00:01') = 737225
select to_days('2018-06-16 23:59:59') = 737226
혹시 위의 문제 약 48시간 차이인데 날수는 1일
날짜 비교 구문을 변경
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 필드 날짜를 어제 날짜로 변경하신 후 테스트 해보세요
신고가 접수되어 자동으로 블라인드 된 글입니다.
원글을 보시려면 를 클릭하세요.
포인트 존나조아