2013-07-14 129 views
0

試着不要在這裏重新發明輪子,所以想'我會問你們;PHP/MYSQL數據庫邏輯查詢

有一個電腦遊戲的現有數據庫,記錄 - 地圖名稱,地圖完成時間,難度級別,人員ID。該數據庫用於記錄每個玩家的最佳完成時間。所以玩家可以輸入特定的命令,並顯示特定地圖的最佳完成時間。

現在我想創建一個排名系統,根據難度等級獎勵玩家積分完成地圖的積分,例如通過簡單獎勵玩家1分,中等2分等完成獎勵。這個排名系統會顯示最高點的玩家。

我的問題是,這將是更好地使用當前的數據庫,並使用PHP來實現新的排名系統

創建一個新的數據庫來實現呢?

在任何一種情況下,都會讚賞一個簡單的邏輯示例。

回答

0

我認爲最好只使用已經存在的數據庫。你是什​​麼意思邏輯的例子?

+0

嗯例如,什麼是打印出來的最佳途徑前10名(得分最多的球員)。在當前數據庫中,每個玩家對每個地圖記錄每個完成時間,因此玩家可以有多個地圖項 – Katalyst

+0

也許你應該覆蓋舊時間。然後使用某種搜索/排序算法。 – Kyle

0

由於凱爾說使用您當前的數據庫/表,並讓PHP/SQL做的工作。我會做點什麼

select player, 
     Map, 
     Count(*) 
From mytable 
Group by player, map 

這應該會給你一個玩家數完成地圖。測試這個雖然。獲得計數後,您可以循環計算並根據地圖乘以獲得的積分。

0

你能試試這個:

SELECT *, (count(*) * difficulty) AS total 
FROM `map` 
GROUP BY user_id 
ORDER BY total DESC 
LIMIT 10 

difficulty是一個表格字段,它是1,方便,2介質等