방문자수 리셋 함수 코드리뷰 부탁해요 채택완료
울라프
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의 테이블 컬럼값을 활용하는 측면에서는 동일합니다.
이미존재하는 환경값을 활용하면 약간의 개선은 있겠네요
존재하는 데이타중 1개Row로 관리하는 방법입니다만
그게 아니라면
config테이블같은곳에 컬럼을 추가해서
그누보드 설정값체크하듯 truncate값이 실행되면 그 값의 일자를 변경하는겁니다.
그러면 위와 같이 visit를 체크하지 않아도 되지만
db의 테이블 컬럼값을 활용하는 측면에서는 동일합니다.
이미존재하는 환경값을 활용하면 약간의 개선은 있겠네요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인