PHP与MYSQL搜索
我试图在我的网页中显示前5位获得更多胜利的用户,我使用以下代码: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[
<?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_*函数李>
mysql\uu
函数,立即停止读取。@NiettheDarkAbsol想说的是,你应该始终使用PDO:并且永远不应该使用mysql_uu函数哦,当你在使用它时,请阅读XSS:我应该使用什么来代替mysql_uu函数@Mikey我应该使用msqli?就我个人而言,我从来没有使用过mysqli,而且一直都在使用PDO。根据对此的回答,PDO中的功能比mysqli中的功能更多。