我正在尝试创建一个数组,然后从 mysql_query 中按时间对对象进行排序。
是这样的:
当玩家完成他的回合时,我更新数据库。我将数据库变量“lastTurn”设置为当前时间。
$nickname = $_POST['name']; $lastTurn = date(); $myTurn = NO; $query ... update query
现在我需要找出下一个玩家是谁,并将轮到他/她。
$query = "SELECT * FROM active_users_table WHERE match_id='12345'
这为我提供了与当前游戏关联的所有玩家。
但现在我不知道如何继续。 我想将所有玩家放入一个数组中,然后在我猜的 turnDate 之后对其进行排序,看看下一个玩家是谁。就像扑克牌游戏。我还需要检查数据库中的另一个变量“havePlayerLost”,看看他是否仍在游戏中。如果他输了,则获得下一个活跃的且具有最高 turnDate 的玩家。
非常感谢任何建议。
谢谢
最佳答案
我建议你让 MySQL/SQL 做比你现在做的多一点的工作。您用于更新播放器的 SQL 查询还可以包含正确格式的当前日期/时间。
player_lastTurn = NOW()
当涉及到对数组进行排序时,我建议您也让 MySQL 处理这个:
ORDER BY player_lastTurn ASC
ASCending 意味着它将为您提供整个数据库中该单元格名称最早的日期时间。
当您使用这些查询的结果并使用它构建数组时,您的数组将自动按照正确的顺序排列。
这同样适用于“丢失的玩家”,因此当您不加载数组时,您会自动不将它们包含在数组中。
关于PHP-Mysql。将玩家放入数组并按时间排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9683140/