방문자수 리셋 함수 코드리뷰 부탁해요

방문자수 리셋 함수 코드리뷰 부탁해요

QA

방문자수 리셋 함수 코드리뷰 부탁해요

본문

 

 
    function reset_g5_visit(){ 
        $sql = " TRUNCATE g5_visit_sum ";
        sql_query($sql);
        $sql = " TRUNCATE g5_visit ";
        sql_query($sql);
    }
    reset_g5_visit();
 
 

 

요 코드를 40일 마다 한번씩 실행할려고 하는데, 어떻게 해야 하나요?

이 질문에 댓글 쓰기 :

답변 2

코드를 조금 변경해드리죠


 
 
    function reset_g5_visit( $diffdate = 40){ 
        $chkrow = sql_fetch("SELECT if (DATEDIFF(CURDATE(), vi_date) > {$diffdate},1,0) chk FROM g5_visit order by vi_id  LIMIT 1");
        if ($chkrow['chk']) {

            $sql = " TRUNCATE g5_visit_sum ";
            sql_query($sql);
            $sql = " TRUNCATE g5_visit ";
            sql_query($sql);
        }
    }

    reset_g5_visit();   // 이건 extend 어디에 넣어도 무방합니다.
    // 40일이 아닌 일자를 기간을 변경하고 싶으면
   // reset_g5_visit(30);  //이런식으로 일자를 변경하면됩니다.
 
 

 

visit 관련테이블에 상태를 관리하지 않으려면
존재하는 데이타중 1개Row로 관리하는 방법입니다만
그게 아니라면

config테이블같은곳에 컬럼을 추가해서
그누보드 설정값체크하듯 truncate값이 실행되면 그 값의 일자를 변경하는겁니다.
그러면 위와 같이 visit를 체크하지 않아도 되지만
db의 테이블 컬럼값을 활용하는 측면에서는 동일합니다.
이미존재하는 환경값을 활용하면 약간의 개선은 있겠네요

답변을 작성하시기 전에 로그인 해주세요.
전체 331
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT