일정기간이 지나면 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 을 못걸거라 예상해서 두가지를 알려드립니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
crontab을 사용할 수 있는 상황이 아니라면 이런 것도 있습니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
crontab을 지원하는 서버여야 가능합니다.
대부분의 웹호스팅에선 지원하지 않으니 먼저 지원하는지 확인해보세요
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
결국은 crontab 이라는걸 설치해야 하는거군요...