2011-09-02 7 views
0

나는 php + mysql으로 온라인 최고 기록을 가지고 있지만 현재 모든 기록 최고 기록을 보여 주며 Daily/Weekly/Monthly를 추가하고 싶습니다. 무엇이 최선의 방법 일지 궁금합니다. 그?일별/주간/월간 최고 기록

현재 나의 생각은 3 개의 새 테이블을 추가 한 다음 각각에 데이터를 삽입 한 다음 적절한 시간에 실행하여 각 테이블에서 데이터를 삭제하는 cron을 갖는 것입니다.

내가 할 수있는 더 좋은 방법이 있습니까?

또 다른 한가지는 페이지가 highscores.php가 될 수 있도록하려는 것입니다. t = 모든 t = 일일 등 어떻게하면 페이지가 그 값에 따라 쿼리를 변경 했는가?

감사합니다.

+0

아니 범죄를, 그러나 당신의 생각은 끔찍하다. 원하는 것은 점수를 저장할 때마다 날짜와 시간도 저장하는 것입니다. – TJHeuvel

+0

최고 점수는 다른 점수의 합계의 결과입니까? 즉, 점수를 자주 업데이트하여 값을 추가해야합니까? – CaNNaDaRk

+1

테이블 구성표를 포함시켜주십시오 !!! 우리는 당신이 언급 한 테이블이 매일 모든 사용자 누적 점수를 저장하고 있거나 게임 당 점수라고는 생각하지 않습니다. – ajreal

답변

4

하나의 표를 사용하고 최고 점수 날짜가있는 열을 추가하십시오. 그런 다음 각 기간에 대해 세 가지 다른 검색어가 있습니다 (예 : 당신이 고정 된 날짜가 필요없이 일반 버전을 원한다면

SELECT ... FROM highscores WHERE date>"05-12-2011"; 

이 하나를 사용

SELECT ... 
FROM highscores 
WHERE date >= curdate() - INTERVAL DAYOFWEEK(curdate())+6 DAY;