2011-09-02 187 views
0

我有PHP + MYSQL做一個在線的高分,但它目前顯示的所有時間高分,我想每天/每週添加/每月到這一點,我想知道什麼是最好的方式待辦事項那?每日/每週/每月榜

我現在的想法是添加3個新表,然後必須插入到他們每個人的數據,然後具有運行將在適當的時候從每個表中刪除該數據一個cron。

有沒有什麼更好的方法,我可以做到這一點?

另一件事,我想擁有它,因此頁面將是highscores.php?t = all t = daily,等等。我該如何使頁面根據該值更改查詢?

謝謝。

+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;