제한횟수 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

제한횟수 정보

제한횟수

본문

제가 하루 제한 횟수를 만드려고하는데...헬리콥터 플레시게임입니다.

http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=112496&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%ED%97%AC%EB%A6%AC%EC%BD%A5%ED%84%B0

이게임 테이블에 count 라는 테이블을 만들고
+5를 누적해서 하루 횟수제한을 만들고 하루가 지나면 초기화되는
그런 기능을 넣고싶은데...
밤 12시가 넘으면 count 테이블의 횟수가 초기화되는 방법이 없을까요?..

댓글 전체

입력일자를 집어 넣어놓고 count(*) 할때 오늘 날짜를 where에 넣어주시면 될거 같습니다.
아니면 크론탭이나 윈도우 예약실행을 사용해야 합니다.
이것도 아니면 누구든 이 페이지를 그날 처음 열었을때 초기화 해주는 방법을 취하시면 될것 같습니다.
count 라는 테이블이 생성되어 있고, 한번 플레이 할때마다 count 테이블에 insert가 되고 플레이 횟수를
select count(*) from count테이블 where id = '사용자 아이디'
형식으로 사용한다고 가정하에 말씀드리겠습니다.

ins_date 따위의 칼럼을 하나 더 만들고 insert 할때 count테이블에 now()를 사용하여 현재 시간을 같이 입력합니다.
플레이 횟수를 가져올때

select count(*) from count테이블 where id = '사용자 아이디' and date_format(ins_date,'%Y-%m-%d')  = date_format(now(),'%Y-%m-%d')
형식으로 하면 오늘 일자에 입력된 내용을 count 할것입니다.
해당 결과값이 5면 제한을 하시면 되겠습니다.
insert 하지 않고 하나의 로우에 update 하는 형식이라면 초기화 하는 방법으로

update count테이블 set count횟수 = 0

위 쿼리가 정상적으로 동작하도록 php를 만들어 놓고 리눅스 계열이라면 크론탭에서 매일 자정에 실행되도록 해주시면 되고 윈도우계열이라면 얘약실행에서 매일 자정에 실행되도록 해주시면 되겠습니다.
자동실행되게 한다는것이 해당 php 주소를 호출하도록 하는 것입니다.
크론탭은 wget 주소로 해주시면 되고
예약실행은 적당한 사용법이 있을거 같습니다.
다만 오늘 처리가 되었는지여부를 판단해야 다른 사용자가 임의로 해당 주소를 호출하여 중복 초기화 되는것을 막을것 같습니다.
시간으로 제한을 둬도 되고 (0시에서 실행시간 고려하여 0시5분? 10분? 예약실행에서는 실패시 재시도하는것도 있는데 이것도 고려해야합니다.) 별도 칼럼으로 update 시간을 입력하여 오늘 update가 되었다면 실행이 안되게 해도되고 다른 테이블을 둬서 하루 한번만 실행이 되게 해도 되고 방법은 많을것 같습니다.
어느것이 더 효율적인지는 한번 더 생각해봐야 하겠습니다.
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT