我使用UNITY创建游戏它是PHP bla bla ... 我有一些小东西需要弄清楚排序行。 事情是 - 我需要对球员进行排序。 例如,如果播放器3个叶/离开游戏,则玩家3有UID 2PHP mysql使用ORDER BY DESC排序行
那么我们只有玩家1玩家2和玩家4他们0 1 3
player1 = 0
player2 = 1
player3 = 2
player4 = 3
所以我需要做的是那种说出来,所以如果player3 left uid 2
我需要做的排序 它会走这条路
player4 = 3
player2 = 1
player1 = 0
我使用的sort($row = mysql_fetch_array($sql))
但我只得到了错误 我还使用了sort($row['players']);
$row['players']
这是0 1 2 3
但它不是排序,我需要以及它的排序,但是,它的输出是该
player1 = 3
player2 = 1
player4 = 0
这是错误的不等于现在球员的事情,当前玩家
帮助我的家伙什么应该是正确的代码
我希望大家明白我需要在这里解决。
我也尝试使用ORDER BY球员DESC但它不好。我知道有更多的指定顺序。
我有一些更多的解释,这是我需要解决的命令/排序。
GameID Turn
3 2
6 1
7 2
5 2
8 0
9 1
return should be { for example GameID 6 is TURN for the Game or Left in the Game }
GameID Turn
6 1
9 1
8 0
3 2
5 2
7 2
another example { for example GameID 7 is TURN for the Game or Left in the Game }
GameID Turn
7 2
3 2
5 2
8 0
9 1
6 1
这里是我的查询
$email_val = [email protected]';
if($email_val != null){
$sqlCheckError = mysql_query("SELECT * FROM game WHERE player1 = '".$email_val."' || player2 = '".$email_val."' || player3 = '".$email_val."' || player4 = '".$email_val."' ") or die (mysql_error());
$gameCheck = mysql_fetch_array($sqlCheckError);
// CHECK FOR GAMEID ERROR
$gameIDCheck = $gameCheck['gameID'];
// EMAIL EQUAL TO THE CURRENTTURN WHERE ID
$sql = mysql_query("SELECT * FROM game WHERE player1 = '" . $email_val . "' || player2 = '".$email_val."' || player3 = '".$email_val."' || player4 = '".$email_val."' ") or die (mysql_error());
// FIXED THE SORT OF
while ($row = mysql_fetch_array($sql)) {
$p1 = $row['player1'];
$p2 = $row['player2'];
$p3 = $row['player3'];
$p4 = $row['player4'];
if ($asterisk > 0) {
echo "*";
}
echo $row['gameID'] . '|';
echo $row['gameStatus'] . '|';
echo $getNameLower->_NAME_LOWER_PLAYER_ONE_($p1);
echo $getNameLower->_NAME_LOWER_PLAYER_TWO_($p2);
if (!empty($p3)){
echo $getNameLower->_NAME_LOWER_PLAYER_THR_($p3);
} else {
echo '';
}
if (!empty($p4)){
echo $getNameLower->_NAME_LOWER_PLAYER_FOU_($p4);
} else {
echo '';
}
echo '|' . $row['start'];
echo '|' . $row['currentTurn'];
echo '|' . $row['lastWord'];
echo '|' . $row['lastPlayer'];
echo '|' . $row['lastPoints'];
$cur = $row['currentTurn'];
// CHECK THE CurrentTurn then PUT IT AS PICURL
if ($cur == '0') { echo $getPIC->purl_1($p1); }
elseif($cur == '1') { echo $getPIC->purl_2($p2); }
elseif($cur == '2') { echo $getPIC->purl_3($p3); }
elseif($cur == '3') { echo $getPIC->purl_4($p4); }
$asterisk++;
}
if($gameIDCheck == null){
echo '0';
}
}
else{
echo '0';
}
是的,我已经认为在第一位置也。 Order By对所有事物都很容易排序。但是,如果我们使用ORDER BY DESC 2 1 0和ASC 0 1 2,我不希望现在清除
ORDER BY players DESC'有什么问题?在数据库中排序比在PHP中排序要好得多。 – Fluffeh
可以请您发布您的查询吗?这样我可以看到它是否有错误=) – Mic1780
我们不能使用ORDER BY我张贴另一个例子..如果我们这样做,它将按照'2 1 0'顺序排序,它不会排序像我们需要的'2 0 1'这样的东西。 – Butternut