PHP-Mysql。将玩家放入数组并按时间排序

标签 php mysql

我正在尝试创建一个数组,然后从 mysql_query 中按时间对对象进行排序。

是这样的:

  1. 当玩家完成他的回合时,我更新数据库。我将数据库变量“lastTurn”设置为当前时间。

     $nickname = $_POST['name'];
     $lastTurn = date();
     $myTurn = NO; 
     $query ... update query
    
  2. 现在我需要找出下一个玩家是谁,并将轮到他/她。

     $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/

相关文章:

php从json编码中获取值

mysql - 如何结合 Date_format 和 Date_sub

mysql - 在sql中将值一一添加到表中

php - 如何在php中获取单个列前面的所有数据

php - 为什么mysql查询中双引号消失了?

php - 防止 json_encode 将空字符串编码为 null

php - 如何设计引用多个表的灵活 MySQL 通知架构?

crontab中没有密码的mysqldump

PHP 将多个复选框和文本框数组插入 MySQL 数据库

php - 使用 find_in_set 从 1 行中选择包含值的列