试图显示前10个分数 - 只获得一个结果

时间:2012-01-19 00:37:55

标签: php mysql facebook

我正在尝试创建一个排行榜页面,根据他们有多少钱来显示前10位用户。我创建的代码有效,但只显示一个结果 - 用户资金最多。问题可能很简单,但我找不到任何帮助。

这是我的代码:

<?php

include "globals.php";

print "
<div class='generalinfo_txt'>
<div><img src='images/info_left.jpg' alt='' /></div>
<div class='info_mid'><h2 style='padding-top:10px;'> Leaderboards </h2></div>
<div><img src='images/info_right.jpg' alt='' /></div> </div>
<div class='generalinfo_simple'><br> <br><br>";

$q=$db->query("SELECT * FROM users ORDER BY money DESC LIMIT 10;");
print "<table width=75% cellspacing=1 class='table'> <tr style='background:gray;'> <th>Username</th> <th>User Level</th><th>Amount</th> </tr>";
while($r=$db->fetch_row($q))
{
$money=money_formatter($r['money']);
print "<tr><td>{$r['username']}";
print "</td><td>{$r['level']}</td><td>{$money}</td></tr>";
print "</table></div><div><img src='images/generalinfo_btm.jpg' alt='' /></div><br></div></div></div></div></div>";
}
$h->endpage();
?>

2 个答案:

答案 0 :(得分:3)

我可以在这里看到代码中的缺陷。你的行:

print "</table></div><div><img src='images/generalinfo_btm.jpg' alt='' /></div><br></div></div></div></div></div>";

应该在while循环之后,而不是在它内部。实际上,您会破坏HTML并在打印完第一个结果后完成表格。

答案 1 :(得分:0)

你正在使用fetch_row,它只会提取一条记录,你的意思是使用fetch_array来提取所有10条记录吗?