PHP与MYSQL搜索

PHP与MYSQL搜索,php,mysql,Php,Mysql,我试图在我的网页中显示前5位获得更多胜利的用户,我使用以下代码: <?php $rs1 = mysql_query("SELECT won,id,name,avatar,games FROM `users` GROUP BY won DESC LIMIT 5"); while($row = mysql_fetch_array($rs1)) $won = round($row[0],2); $id = $row[1]; $name = $row[

我试图在我的网页中显示前5位获得更多胜利的用户,我使用以下代码:

<?php
     $rs1 = mysql_query("SELECT won,id,name,avatar,games FROM `users` GROUP BY won DESC LIMIT 5");  
    while($row = mysql_fetch_array($rs1))
    $won = round($row[0],2);
    $id = $row[1];
    $name = $row[2];
    $name=secureoutput($name);
    $avatar = $row[3];  
    $games = $row[4];   
        echo'<div class="col-md-offset-2 col-lg-offset-3 col-md-8 col-lg-6 col-sm-12">
             <div class="widget-bg-color-icon card-box fadeInDown animated" style="height: 170px;">
            <div class="datas">
            <br>
            <a href="profile.php?action=view&id='.$steamid.'" target="_BLANK"><img src="https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/e3/'.$avatar.'" width="100px" alt="user-img" class="img-circle hoverZoomLink">
                        <h2 style="margin-top: 30px;"> ' .$name.'</h2></a>
                        <div class="">
                        <p><font color="green">TOTAL WON: $'.$won.'</font></p>
                        <p><font color="green">TOTAL GAMES: '.$games.'</font></p>
                        </div> 
            </div> 
            </div> 
            </div>
        ';
}

                        ?>

我得到了正确的图片,但现在我想为每个地方展示一张不同的图片。 示例1中的家伙将显示一个位于“images/ranks/1.png”的图像,第2个将显示“images/ranks/2.png”等。。 我该怎么做?我怎么能告诉赢得更多胜利的人会得到一张图片,而上面的人会得到另一张图片,等等

有人能帮我吗?
谢谢。

因为您已经使用SQL对结果集进行了排序,所以只需创建一个新变量,例如,
$rank
,它会随着您在结果集上的循环而递增

<?php
$result = mysql_query("SELECT won, id, name, avatar, games FROM `users` GROUP BY won DESC LIMIT 5");  

$rank = 1;

while ($row = mysql_fetch_assoc($result)) { // missing bracket!!!
    $row['won'] = round($row['won'], 2);
    $row['name'] = secureoutput($row['name']); // simplified
    $image = "images/ranks/$rank.png"; // images/ranks/1.png, images/ranks/2.png, etc...

    echo '
        <div class="col-md-offset-2 col-lg-offset-3 col-md-8 col-lg-6 col-sm-12">
        <div class="widget-bg-color-icon card-box fadeInDown animated" style="height: 170px;">
            <div class="datas">
                <br>
                <a href="profile.php?action=view&id=' . $steamid . '" target="_blank"><img src="https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/e3/' . $row['avatar'] .'" width="100px" alt="user-img" class="img-circle hoverZoomLink">
                <h2 style="margin-top: 30px;">' . $row['name'] .'</h2></a>
                <div>
                    <p><font color="green">TOTAL WON: $' . $row['won'] . '</font></p>
                    <p><font color="green">TOTAL GAMES: ' . $row['games'] . '</font></p>
                </div> 
            </div> 
        </div> 
        </div>
    ';

    $rank++;
}
?>

其他几件事:

  • 我决定使用mysql\u fetch\u assoc而不是mysql\u fetch\u数组,因为它更具可读性
  • 如果不需要变量,不要浪费它们
  • 最重要的是,停止使用MYSQL_*函数
Saw
mysql\uu
函数,立即停止读取。@NiettheDarkAbsol想说的是,你应该始终使用PDO:并且永远不应该使用mysql_uu函数哦,当你在使用它时,请阅读XSS:我应该使用什么来代替mysql_uu函数@Mikey我应该使用msqli?就我个人而言,我从来没有使用过mysqli,而且一直都在使用PDO。根据对此的回答,PDO中的功能比mysqli中的功能更多。