Php-Mysql。让玩家进入一个数组并按时间排序
我试图创建一个数组,然后根据mysql\u查询按时间对对象进行排序 情况就是这样:Php-Mysql。让玩家进入一个数组并按时间排序,php,mysql,Php,Mysql,我试图创建一个数组,然后根据mysql\u查询按时间对对象进行排序 情况就是这样: 当玩家完成回合后,我更新数据库。我将数据库变量“lastTurn”设置为当前时间 $nickname = $_POST['name']; $lastTurn = date(); $myTurn = NO; $query ... update query 现在我需要找出下一个玩家是谁,并将回合发送给他/她 $query = "SELECT * FROM active_users_table WHER
$nickname = $_POST['name'];
$lastTurn = date();
$myTurn = NO;
$query ... update query
$query = "SELECT * FROM active_users_table WHERE match_id='12345'
谢谢我建议您让MySQL/SQL做比现在多一点的工作。用于更新播放机的SQL查询也可以包含正确格式的当前日期/时间
player_lastTurn = NOW()
在对数组进行排序时,我建议您也让MySQL来处理这个问题:
ORDER BY player_lastTurn ASC
升序意味着它将为您提供整个数据库中该cellname的最早日期时间
当您使用这些查询的结果并使用它构建数组时,您的数组将自动按正确的顺序排列
这同样适用于“丢失的玩家”,因此在不加载阵列时,您会自动不将其包含在阵列中。尝试此查询
$query = "SELECT * FROM active_users_table WHERE match_id='12345'
and status !='havePlayerLost'
order by lastTurn Asc
要对玩家进行排序,请尝试更改添加“ORDER BY turnDate ASC”的查询
$query = "SELECT * FROM active_users_table WHERE match_id='12345' ORDER BY turnDate ASC"
对于变量“havePlayerLost”,我认为您也可以像这样更改查询,添加“havePlayerLost=false”
$query = "SELECT * FROM active_users_table WHERE match_id='12345' AND havePlayerLost = false ORDER BY turnDate ASC"