테스트 사이트 - 개발 중인 베타 버전입니다

방문자수 리셋 함수 코드리뷰 부탁해요 채택완료

울라프 2년 전 조회 1,129

 

</strong></p>

<p> </p>

<p>    function reset_g5_visit(){ 

        $sql = " TRUNCATE g5_visit_sum ";

        sql_query($sql);</p>

<p>        $sql = " TRUNCATE g5_visit ";

        sql_query($sql);

    }</p>

<p>    reset_g5_visit();

 </p>

<p> </p>

<p><strong>

 

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

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
플래토
2년 전

코드를 조금 변경해드리죠

</p>

<p> </p>

<p> 

    function reset_g5_visit( $diffdate = 40){ </p>

<p>        $chkrow = sql_fetch("SELECT if (DATEDIFF(CURDATE(), vi_date) > {$diffdate},1,0) chk FROM g5_visit order by vi_id  LIMIT 1");</p>

<p>        if ($chkrow['chk']) {</p>

<p>

            $sql = " TRUNCATE g5_visit_sum ";

            sql_query($sql);

            $sql = " TRUNCATE g5_visit ";

            sql_query($sql);</p>

<p>        }

    }</p>

<p>

    reset_g5_visit();   // 이건 extend 어디에 넣어도 무방합니다.</p>

<p>    // 40일이 아닌 일자를 기간을 변경하고 싶으면</p>

<p>   // reset_g5_visit(30);  //이런식으로 일자를 변경하면됩니다.
 
 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

울라프
2년 전
이렇게 하면 해당 날짜에서는 페이지 리프레쉬 할때마다 본 함수가 실행되서 비효율이 생기는데 한번만 실행 되게 할려면 어찌해야 하나요?
플래토
2년 전
visit 관련테이블에 상태를 관리하지 않으려면
존재하는 데이타중 1개Row로 관리하는 방법입니다만
그게 아니라면

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

댓글을 작성하려면 로그인이 필요합니다.

핑크빈
2년 전

그누보드 플러그인 자료에서 크론 검색해보세요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인