답변 3개
[답변 수정 07-18 10:28:00]
extend 폴더에 member_today.extend.php 파일을 만들어 다음 코드를 넣어주세요
</p>
<p><?php</p>
<p>if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p>
<p> </p>
<p>$today = date('Y-m-d');</p>
<p> </p>
<p>$sql_check = "SELECT COUNT(*) AS count FROM `{$g5['member_table']}` WHERE mb_1 = '$today'";</p>
<p>$result = sql_fetch($sql_check);</p>
<p> </p>
<p>if($result['count'] !== 0){</p>
<p> return;</p>
<p>}</p>
<p> </p>
<p>// 만약 값이 없다면 업데이트를 수행합니다.</p>
<p>if ($result['count'] == 0) {</p>
<p> // 모든 회원의 mb_1 필드를 업데이트하는 쿼리</p>
<p> $sql_update = "UPDATE `{$g5['member_table']}` SET mb_1 = '$today'";</p>
<p> sql_query($sql_update);</p>
<p>}</p>
<p>
이렇게 되면 누군가 홈페이지 접속하게 되면, 쿼리를 실행합니다.
체크 방식은 오늘 날짜가 mb_1 에 저장값과 다르다면 오늘 날짜 그게 아니라면 실행하지 않습니다.

댓글을 작성하려면 로그인이 필요합니다.
보통 Linux crontab 또는 Windows Task Scheduler 와 같은
스케줄링 도구를 활용하는 방법이 많이 사용됩니다.
다른 방법으로는 꼭 하루1회일 필요가 없다면, 전체 업데이트 방법을 선택하지 않을수 있다면
발생된 로그인 유저에 대해서만 업데이트를 해주는 방법이 있는데
이는 실제 접근하는 유저만을 대상으로 하는 최소한의 DML 만 발생시키기 때문에
서버 운영 성능 향상에 도움이 됩니다.
댓글을 작성하려면 로그인이 필요합니다.
https://cron-job.org 무료 크론탭 사이트 입니다. 여기서 설정하시면 됩니다.
만약 내 사이트가 1.com 이면 1.com/cron.php 임의로 만들어서 해당 cron.php 파일에서 mb_1에 현재날자 넣는거 코드 짜시면 됩니다. 1.com/cron.php 파일을 저 위 사이트에서 1시간마다 또는 하루마다 등 설정해서 크론사이트에서 우리사이트 해당 파일로 접속을 하게합니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인