글쓴 후 24시간이 지나면 자동으로 분류 수정이 되게 가능 할까요?
본문
분류가 모집중,마감 이렇게 두개가 있는데
글쓸때는 자동으로 모집중으로 등록이 됩니다.
마감을 하려면 사용자가 직접 수정 -> 분류변경 해야만 변경되는데
글쓴 후 24시간이 지나면 자동으로 분류가 마감으로 바뀌게 할 수 있을까요?
몇시간동안 검색을 해 봤는데 마땅한 답을 찾지 못해 질문 올립니다.
감사합니다.
답변 3
여러가지 방법이 있겠지만,
24시간이후 자동적으로 어떤 액션이 일어나게 하려면 별도 서비스(크론.. 등등)을 사용하여합니다.
이렇게까지 안하고 편법으로
특정페이지에 접속시 아래와 같은 쿼리를 실행시킬수 있습니다.
update 테이블 set ca_name = '마감'
from wr_datetime < date_add(now(), interval -24 HOUR )
where ca_name = '모집중'
페이지 접속할때마다 쿼리가 실행되는 다소 불필요한 액션이 들어갈수 있는게 단점이긴합니다만..
데이터가 많지 않다면 큰 문제는 없어보입니다.
그누보드인지 아닌지 질문에 구분이 있어야죠
그누보드 기준
view.skin.php 상단 php부분에 넣으면 됩니다
if($view['ca_name']=='모집중'){
$magam = date("Y-m-d H:i:s", strtotime("$view[wr_datetime] +24 hour") );
if( $magam >= G5_TIME_YMDHIS){
sql_query("update $write_table set ca_name='마감' where wr_id='$wr_id' ");
$view{'ca_name'] ='마감';
}
}
혹시나 해서 말씀드리면.. 검색으로 찾아보니, MySQL 이벤트 사용 방법을 검토해 볼 수 있을 듯 합니다.
(저도 아직 MySQL 이벤트를 사용해 본 적은 없어서.. 자세하게는 잘 모르겠습니다.)
※ 참고한 글 - https://dba.stackexchange.com/a/56428
CREATE EVENT evt_cate_update
ON SCHEDULE
EVERY 1 MINUTE
DO
update [Table]
set ca_name = '마감'
where wr_datetime < date_sub(now(), interval 24 hour)
and ca_name = '모집중'