채택완료
일정기간이 지나면 DB 자동삭제 질문입니다.
itemformupdate.php
Copy
$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개 / 댓글 3개
채택된 답변
+20 포인트
cron tab 또는 index 에 하루에 한번돌수 있도록 처리합니다.
즉 index 에 저 부분을 검수할수 있도록 처리합니다.
저 쿼리가 돌면서 날짜와 돌았는지 여부를 저장하는 log 테이블을 만듭니다.
저 조건문 안에 해당 log 에 대해 select 한후 금일조건이 없다면 돌도록 해줍니다.
그럼 최소 하루에 사이트 방문자가 1명이라도 돌겠죠...
보통 그 부분을 해소하기 위해 @볼피드 님말씀처럼 crontab 을 걸지요...
하지만 서버를 모르신다면 crontab 을 못걸거라 예상해서 두가지를 알려드립니다.
crontab을 사용할 수 있는 상황이 아니라면 이런 것도 있습니다.
답변을 작성하려면 로그인이 필요합니다.
결국은 crontab 이라는걸 설치해야 하는거군요...