답변 3개
여러가지 방법이 있겠지만,
24시간이후 자동적으로 어떤 액션이 일어나게 하려면 별도 서비스(크론.. 등등)을 사용하여합니다.
이렇게까지 안하고 편법으로
특정페이지에 접속시 아래와 같은 쿼리를 실행시킬수 있습니다.
update 테이블 set ca_name = '마감'
from wr_datetime < date_add(now(), interval -24 HOUR )
where ca_name = '모집중'
페이지 접속할때마다 쿼리가 실행되는 다소 불필요한 액션이 들어갈수 있는게 단점이긴합니다만..
데이터가 많지 않다면 큰 문제는 없어보입니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
그누보드인지 아닌지 질문에 구분이 있어야죠
그누보드 기준
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'] ='마감';
}
}
답변에 대한 댓글 3개
이렇게 되어야 되는 거 아닌가요?
if( $magam <= G5_TIME_YMDHIS)
댓글을 작성하려면 로그인이 필요합니다.
혹시나 해서 말씀드리면.. 검색으로 찾아보니, MySQL 이벤트 사용 방법을 검토해 볼 수 있을 듯 합니다.
(저도 아직 MySQL 이벤트를 사용해 본 적은 없어서.. 자세하게는 잘 모르겠습니다.)
※ 참고한 글 - https://dba.stackexchange.com/a/56428
</p>
<p>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 = '모집중'</p>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인