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

여분필드 값 매일 00시 초기화 채택완료

ldscmax 5년 전 조회 2,216

안녕하세요.

 

회원 여분 필드를 이용해서 하루 댓글 작성 가능 횟수를 제한하는것을 만들고 있습니다.

 

위 기능은 팁게, 질문게시판 찾아서 복사 붙여넣기로..; 어찌어찌 만들어봤는데

 

mb_1 값을 00시에 자동으로 초기화 하는 방법은 제 기술로는 되지가 않네요.

 

고수님들 도움 부탁드립니다. 

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

답변 3개

채택된 답변
+20 포인트
5년 전

<방법 1>

1) mb_1 초기화 SQL 실행 파일 생성

 

2) 웹크론 사이트에서(구글 검색 '웹 크론'), 실행 주기 (매일 0시) 및 실행 URL 등록

 

하는 방법이 있습니다. 개인적으로 권장하지는 않습니다.

 

<방법 2>

* mb_1 에 댓글 수를 등록/업데이트 한다면..

=> mb_2 에 실행날짜를 기록/업데이트합니다. (ex. 2020-11-03)

(mb_1 : mb_2 날짜에 등록한 댓글 수, mb_2 : 마지막 댓글 수 기록/업데이트 날짜 정보)

 

* mb_1 댓글 수 등록/업데이트 코드 바로 전에 다음로직을 추가해줍니다.

: mb_2 에 날짜값이 있고, 오늘 날짜가 아니라면 => mb_1, mb_2 초기화

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

답변에 대한 댓글 4개

l
ldscmax
5년 전
답변 감사합니다.
방법 2로 제시한것이 괜찮아 보이는데..
직접 코드를 짤 능력이 안됩니다.
혹시 참고할만한 팁이나 비슷한 기능이 있는 스킨, 플러그인이 있을까요?
마르스컴퍼니
5년 전
[code]
$today = date('Y-m-d');

if ($member['mb_2'] && $today > $member['mb_2']) {
$sql = "
update {$g5['member_table']}
set mb_1 = '0',
mb_2 = ''
where mb_id = {$member['mb_id']}
";
sql_query($sql);
}

// 기존 mb_1 업데이트 로직
// 기존 mb_1 업데이트 sql 문에 mb_2 = '{$today}' 추가
[/code]
l
ldscmax
5년 전
감사합니다 마르스컴퍼니님

덕분에 해결했습니다.

근대 PHP 버전 문제인지.. 저는 만들어주신 쿼리문으로는 초기화가 안되서 아래처럼 했습니다.

감사합니다~

$sql = " update $g5[member_table] set mb_1 = '0', mb_2 = '' where mb_id = '$member[mb_id]' ";
헬로준6
5년 전
처..처..천재시다!! ^^

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

5년 전

병원님 말씀처럼 작업을 해야 하고 크론탭이나 실시간이 힘드실 경우 따로 댓글 관련 테이블을 만드시고 거기다가 날짜 댓글수를 넣으셔서 거기서 체크를 하시면 될거 같습니다.

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

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

서버 자체기능으로 정해진 시간마다 코드를 실행시키는 기능을 사용하셔야합니다

 

그게 아니라면 php자체만으론 실시간으로 반응하여 코드를 실행시키긴 힘듭니다

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

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

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

로그인