오늘날짜 넣기 질문 드립니다

오늘날짜 넣기 질문 드립니다

QA

오늘날짜 넣기 질문 드립니다

답변 3

본문

현재 로그인 체크로 로그인할때마다 현재날짜를 mb_1에 저장중입니다.

 

근데 이렇게 하니 로그인을 안하면
현재날짜로 안되는 치명적(?)인 단점이 있어서 ...

 

회원모두 매일 오늘날짜로 업데이트 되도록 넣어주고 싶은데 



하루 1회 mb_1에 오늘날짜가 업데이트 되어 들어갈수있도록 할수있는 방법 있을까요 ?

이 질문에 댓글 쓰기 :

답변 3

[답변 수정 07-18 10:28:00]

 

extend 폴더에 member_today.extend.php 파일을 만들어 다음 코드를 넣어주세요

 


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
 
$today = date('Y-m-d');
 
$sql_check = "SELECT COUNT(*) AS count FROM `{$g5['member_table']}` WHERE mb_1 = '$today'";
$result = sql_fetch($sql_check);
 
if($result['count'] !== 0){
    return;
}
 
// 만약 값이 없다면 업데이트를 수행합니다.
if ($result['count'] == 0) {
    // 모든 회원의 mb_1 필드를 업데이트하는 쿼리
    $sql_update = "UPDATE `{$g5['member_table']}` SET mb_1 = '$today'";
    sql_query($sql_update);
}

 

이렇게 되면 누군가 홈페이지 접속하게 되면, 쿼리를 실행합니다.

 

체크 방식은 오늘 날짜가 mb_1 에 저장값과 다르다면 오늘 날짜 그게 아니라면 실행하지 않습니다.

 

978180634_1721260522.5377.png

https://cron-job.org
무료 크론탭 사이트 입니다.

여기서 설정하시면 됩니다.

 

만약 내 사이트가 1.com 이면
1.com/cron.php 임의로 만들어서
해당 cron.php 파일에서 mb_1에 현재날자 넣는거 코드 짜시면 됩니다.

1.com/cron.php 파일을 저 위 사이트에서 1시간마다 또는 하루마다 등 설정해서
크론사이트에서 우리사이트 해당 파일로 접속을 하게합니다 
 

보통 Linux crontab 또는 Windows Task Scheduler 와 같은

스케줄링 도구를 활용하는 방법이 많이 사용됩니다.

 

다른 방법으로는 꼭 하루1회일 필요가 없다면, 전체 업데이트 방법을 선택하지 않을수 있다면

발생된 로그인 유저에 대해서만 업데이트를 해주는 방법이 있는데

이는 실제 접근하는 유저만을 대상으로 하는 최소한의 DML 만 발생시키기 때문에

서버 운영 성능 향상에 도움이 됩니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 193
© SIRSOFT
현재 페이지 제일 처음으로