如何从表中获得3个最高值并将其打印出来?

时间:2013-04-25 17:32:56

标签: php mysql row

我有一张名为pvpstats的表。它有4列;身份证,姓名,杀人和死亡。我必须从“杀戮”中获得3个最高值,并将它们从最高到最低排序,并且还包括名称。像三顶统计!而且因为我是MySQL的新手,我需要一步一步的努力......

这就是我的.php目前的看法:

<?php

$server = "localhost";
$dbuser = "usernm";
$dbpass = "passwd";
$dbname = "pvpstats";

mysql_connect($server, $dbuser, $dbpass);
mysql_select_db($dbname);

$result = mysql_query("SELECT kills FROM pvpstats ORDER BY kills DESC LIMIT 3");
$row = mysql_fetch_assoc($result);
echo print_r($row,true);

?>

连接正在运行,它显示的是最高值但没有名称。并且只有在它应该显示3个最高时才最高

3 个答案:

答案 0 :(得分:1)

一个人,你应该使用:

print_r($row);

echo print_r($row,true);
如果省略 true 变量,

* print_r *将自动输出,因为将响应传递给 echo 只是多余的。

此外,由于您的查询将返回三行,您必须遍历它:

while ($row = mysql_fetch_assoc($result)) {
    print_r($row);
    // or if you just want to output the number, use:
    // echo $row["kills"];
}

答案 1 :(得分:1)

$row = mysql_fetch_assoc($result);只会回显1行

用户while循环以回显所有数据。

答案 2 :(得分:-1)

看起来,您的查询语法没有任何问题。使用以下代码来查找问题。

mysql_connect($server, $dbuser, $dbpass) or die(mysql_error());

...

$row = mysql_fetch_assoc($result) or die(mysql_error());