일정기간이 지나면 DB 자동삭제 질문입니다.

일정기간이 지나면 DB 자동삭제 질문입니다.

QA

일정기간이 지나면 DB 자동삭제 질문입니다.

답변 3

본문

itemformupdate.php


$sql = "select it_best, it_until from g5_shop_item where it_id = '$it_id' ";
$best = $sql_fetch($sql);
if($best['it_until'] < date('Y-m-d')){
    $sql = "update g5_shop_item set it_until = '', it_best = '0' where it_id = '$it_id' ";
    sql_query($sql);
}

 

안녕하세요.

지금은 상품 등록/수정할때 버튼을 눌러야 저 쿼리가 실행이 됩니다.

그런데 어떠한 클릭없이 it_until로 지정해준 시간이 현재 시간을 지나면 자동으로 실행이 되게 하고싶습니다.

도움 부탁드리겠습니다 ^^

이 질문에 댓글 쓰기 :

답변 3

cron tab 또는 index 에 하루에 한번돌수 있도록 처리합니다.

 

즉 index 에 저 부분을 검수할수 있도록 처리합니다.

 

저 쿼리가 돌면서 날짜와 돌았는지 여부를 저장하는 log 테이블을 만듭니다.

저 조건문 안에 해당 log 에 대해 select 한후 금일조건이 없다면 돌도록 해줍니다.

그럼 최소 하루에 사이트 방문자가 1명이라도 돌겠죠...

 

보통 그 부분을 해소하기 위해 님말씀처럼 crontab 을 걸지요...

 

하지만 서버를 모르신다면 crontab 을 못걸거라 예상해서 두가지를 알려드립니다.

crontab을 지원하는 서버여야 가능합니다.
대부분의 웹호스팅에선 지원하지 않으니 먼저 지원하는지 확인해보세요

crontab을 사용할 수 있는 상황이 아니라면 이런 것도 있습니다.

https://sir.kr/g5_plugin/4328

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 19
© SIRSOFT
현재 페이지 제일 처음으로