Php 通过挑战玩家的选项获得高分。但您无法查看自己的帐户

Php 通过挑战玩家的选项获得高分。但您无法查看自己的帐户,php,html,Php,Html,因为我是@php/html的新手,所以我想在这里问一下如何解决我的问题。 快速信息:目前我正在建立一个网页战斗游戏。highscore显示除您之外的所有人的href,该href链接到一个挑战他们与您抗争的网站。我有一个装满信息的MySQL数据库(比如playerID、赢家、输家等等)。所以我有两个问题:1。我将如何实现我自己/你的帐户可见,但不可点击(因为你不应该挑战自己),我将如何使它们按最高的赢/输比率排序(这一个未实现到数据库中)? 这是我的密码: $db = mysql_connect(

因为我是@php/html的新手,所以我想在这里问一下如何解决我的问题。 快速信息:目前我正在建立一个网页战斗游戏。highscore显示除您之外的所有人的href,该href链接到一个挑战他们与您抗争的网站。我有一个装满信息的MySQL数据库(比如playerID、赢家、输家等等)。所以我有两个问题:1。我将如何实现我自己/你的帐户可见,但不可点击(因为你不应该挑战自己),我将如何使它们按最高的赢/输比率排序(这一个未实现到数据库中)? 这是我的密码:

$db = mysql_connect("localhost", "mydatabase","----");
    mysql_select_db("mydata");

    $query = "SELECT * FROM `player` WHERE player_ID != ".$playerID." ORDER BY Wins DESC";
    if(!$result = mysql_query($query)){
        echo mysql_error();
    }

            echo "<div id='highscore'>";
            echo "<table class='text' id='highscore' >";
            echo            "<tr class= $fontarray[$i]>";
            echo                "<th></th>";
            echo                "<th>PLAYER</th>";
            echo                "<th>WINS</th>";
            echo                "<th>LOSSES</th>";
            echo                "<th>W/L</th>";
            echo            "</tr>";
            echo    "<br class='clear'/ >";
            while($row = mysql_fetch_assoc($result)){

                echo "<tr class= $fontarray[$i]>";
                echo "<td>";    
                echo $placearray[$i];
                echo "</td>";
                echo "<td>";
                echo "<a class='nodecoration' href=\"pickmove.php?id=".$row['player_ID']."\"/>  ".$row['nickname']." <a/>";
                echo "</td>";
                echo "<td>";
                echo $row['Wins'];
                echo "</td>";
                echo "<td>";
                echo $row['Losses'];
                echo "</td>";
                echo "<td>";
                echo round($row['Wins']/$row['Losses'], 2);
                echo "</td>";
                echo "</tr>";
                $i = $i+1;

            }?>
            </table>
            </div>
$db=mysql\u connect(“localhost”、“mydatabase”和“----”);
mysql_select_db(“mydata”);
$query=“从`player`中选择*,其中player_ID!=”$playerID.“按Wins DESC排序”;
if(!$result=mysql\u查询($query)){
echo mysql_error();
}
回声“;
回声“;
回声“;
回声“;
呼应“玩家”;
呼应“胜利”;
呼应“损失”;
回声“W/L”;
回声“;
回声“
”; while($row=mysql\u fetch\u assoc($result)){ 回声“; 回声“; echo$placearray[$i]; 回声“; 回声“; 回显“$行[“昵称]”; 回声“; 回声“; echo$row['Wins']; 回声“; 回声“; echo$行[“损失]; 回声“; 回声“; 回音轮($row['Wins']/$row['LOSS'],2); 回声“; 回声“; $i=$i+1; }?>
如果你需要更多的信息,我会尽力告诉你的。 谢谢你的阅读

编辑:为答案干杯,但它们对我来说有点太复杂了(我要么太新,要么太笨)。如果你能让它们尽可能简单,我将不胜感激。

  • 检查“$row['player\u ID]”是否与“$playerID”匹配,如果匹配,请不要打印链接。并从sql查询中删除playerID检查。
  • `选择…,(赢/输)作为比率',然后选择“按比率排序说明”
  • 下面是您修改的代码:

    $db = mysql_connect("localhost", "mydatabase","----");
    mysql_select_db("mydata");
    
    $query = "SELECT player_ID, Wins, Losses, (Wins/Losses) AS ratio FROM `player` ORDER BY Wins DESC";
    if(!$result = mysql_query($query)){
        echo mysql_error();
    }
    
            echo "<div id='highscore'>";
            echo "<table class='text' id='highscore' >";
            echo            "<tr class= $fontarray[$i]>";
            echo                "<th></th>";
            echo                "<th>PLAYER</th>";
            echo                "<th>WINS</th>";
            echo                "<th>LOSSES</th>";
            echo                "<th>W/L</th>";
            echo            "</tr>";
            echo    "<br class='clear'/ >";
            while($row = mysql_fetch_assoc($result)){
    
                echo "<tr class= $fontarray[$i]>";
                echo "<td>";    
                echo $placearray[$i];
                echo "</td>";
                echo "<td>";
                echo ($row['player_ID'] != $player_ID ? "<a class='nodecoration' href=\"pickmove.php?id=".$row['player_ID']."\"/>  ".$row['nickname']." <a/>" : $row['nickname'] );
                echo "</td>";
                echo "<td>";
                echo $row['Wins'];
                echo "</td>";
                echo "<td>";
                echo $row['Losses'];
                echo "</td>";
                echo "<td>";
                echo round($row['Wins']/$row['Losses'], 2);
                echo "</td>";
                echo "</tr>";
                $i = $i+1;
    
            }?>
            </table>
            </div>
    
    $db=mysql\u connect(“localhost”、“mydatabase”和“----”);
    mysql_select_db(“mydata”);
    $query=“根据Wins DESC从“玩家”顺序中选择玩家ID、赢、输(赢/输)作为比率”;
    if(!$result=mysql\u查询($query)){
    echo mysql_error();
    }
    回声“;
    回声“;
    回声“;
    回声“;
    呼应“玩家”;
    呼应“胜利”;
    呼应“损失”;
    回声“W/L”;
    回声“;
    回声“
    ”; while($row=mysql\u fetch\u assoc($result)){ 回声“; 回声“; echo$placearray[$i]; 回声“; 回声“; echo($row['player\u ID'!=$player\u ID?”“$row['昵称]。”“:$row['昵称]); 回声“; 回声“; echo$row['Wins']; 回声“; 回声“; echo$行[“损失]; 回声“; 回声“; 回音轮($row['Wins']/$row['LOSS'],2); 回声“; 回声“; $i=$i+1; }?>
    1。删除
    player\u ID!=“$playerID。”
    然后在HTML中,检查
    如果($row['player\u ID']==$playerID)
    然后移除要质询的锚,并将名称作为字符串输出。2.循环遍历数组并计算W/L比率,然后在输出HTML之前对它们进行排序。最好对答案进行注释,而不是将其附加到问题中。只是一个提示!首先干杯,但是通过这个查询,我没有得到我的玩家ID和昵称,因此表中没有昵称。我试了很久才意识到这一点。PS:获取所有数据的查询应该是“选择
    player\u ID
    昵称
    Wins
    loss
    ,从
    pruegelpause\u player
    ORDER BY Wins DESC”,但现在它完全正常了,昵称列肯定已经从我的视野中消失了。很高兴听到你无论如何都解决了。