Php 命令由--;但也由另一个人订购?

Php 命令由--;但也由另一个人订购?,php,html,sql-order-by,row,Php,Html,Sql Order By,Row,K、 我有一个关于PHP的问题。 我正在努力为我的游戏创造一个高分,它有等级和经验 我的问题很简单,我想按总等级排序,这样总等级最高的人排在第一、第二、第三,等等。 但我也希望它是按xp排序的,这样如果它们的总等级相同,那么xp最高的人将首先显示,而不是随机显示 这是我到目前为止所做的按级别排序,但我不知道如何让它检查xp $count = mysql_result(mysql_query("SELECT COUNT(*) FROM skillsoverall"),0) or die(m

K、 我有一个关于PHP的问题。 我正在努力为我的游戏创造一个高分,它有等级和经验

我的问题很简单,我想按总等级排序,这样总等级最高的人排在第一、第二、第三,等等。 但我也希望它是按xp排序的,这样如果它们的总等级相同,那么xp最高的人将首先显示,而不是随机显示

这是我到目前为止所做的按级别排序,但我不知道如何让它检查xp

$count = mysql_result(mysql_query("SELECT COUNT(*) FROM skillsoverall"),0) or     die(mysql_error());

        $from = (isset($_GET["from"]) && is_numeric($_GET["from"]) && $_GET["from"] < $count) ? $_GET["from"] : 0;

        $query = mysql_query ("SELECT * FROM skillsoverall ORDER BY lvl DESC limit $from, $ppls_page") or die(mysql_error());

        $i = $from;
        while($row = mysql_fetch_array($query)){
        $i++;
        if($i < $top_hiscore) {
if($i & 1) {
        echo '<tr class="row row1">
<td class="rankCol"><span>'.$i.'</span></td>
<td class="nameCol"><span><a href="'.$website.'/'.$pers.'?name='.$row["playerName"].'"     target="_self">'.BBCode($row["playerName"]).'</a></span></td>
<td class="lvlCol">'.dots($row["lvl"]).'</td>
<td class="xpCol">'.dots($row["xp"]).'</td>
</tr>   
';
} else {
        echo '<tr class="row row2">
<td class="rankCol"><span>'.$i.'</span></td>
<td class="nameCol"><span><a href="'.$website.'/'.$pers.'?name='.$row["playerName"].'"     target="_self">'.BBCode($row["playerName"]).'</a></span></td>
<td class="lvlCol">'.dots($row["lvl"]).'</td>
<td class="xpCol">'.dots($row["xp"]).'</td>
</tr>   
';
$count=mysql\u结果(mysql\u查询(“从skillsoverall中选择count(*))、0)或死亡(mysql\u错误());
$from=(isset($\u GET[“from”])&&isset是数字($\u GET[“from”])&&$\u GET[“from”]<$count)$_获取[“从”]:0;
$query=mysql\u query(“按lvl DESC limit$FROM$ppls\u page从skillsoverallorder中选择*”)或die(mysql\u error());
$i=$from;
while($row=mysql\u fetch\u array($query)){
$i++;
如果($i<$top\U hiscore){
如果($i&1){
回声'
“.$i.”
“.dots($row[“lvl”])”
“.dots($row[“xp”])”
';
}否则{
回声'
“.$i.”
“.dots($row[“lvl”])”
“.dots($row[“xp”])”
';

只要在查询中立即执行即可:

SELECT * FROM skillsoverall ORDER BY lvl DESC, xp desc

SQL将允许order by子句中有多列。在这种情况下,它现在将返回按从最高到最低级别排序的数据,如果有多行具有相同级别,它将从最高到最低XP对数据进行排序。它还将使用
limit
子句始终如一地工作。

只需立即在查询中执行即可t:

SELECT * FROM skillsoverall ORDER BY lvl DESC, xp desc

SQL将允许order by子句中有多个列。在这种情况下,它现在将返回按最高到最低级别排序的数据,如果有多行具有相同级别,它将从最高到最低XP对数据进行排序。它还将使用
limit
子句始终如一地工作。

好的,非常感谢。它正在工作很明显,现在。我不知道它允许多列。@Hellman 2741很乐意提供帮助。您可能也对这段相当长的内容感兴趣-但非常详细,并且充满了查询、输出和解释-我发布这篇文章是为了帮助您处理SQL查询-它主要关注从多个表中获取数据,但您可以从阅读中获益匪浅为了更好地了解您可以在SQL mate中执行的一些操作:)好的,非常感谢。它现在运行得很好。我不知道它允许多个列。@Hellman 2741很乐意提供帮助。您可能也对这段相当长的内容感兴趣-但非常详细,并且充满了查询、输出和解释-我发布来帮助您使用sQL查询—它主要关注从多个表中获取数据,但是您可以通过阅读它更好地了解在SQL mate中可以做的一些事情来获益:)