2013-07-14 254 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介质等