일정기간이 지나면 DB 자동삭제 질문입니다.
본문
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을 지원하는 서버여야 가능합니다.
대부분의 웹호스팅에선 지원하지 않으니 먼저 지원하는지 확인해보세요
답변을 작성하시기 전에 로그인 해주세요.