0

pvpstats というテーブルがあります。4 つの列があります。ID、名前、キル、デス。「キル」から3つの最高値を取得し、それらを最高から最低に並べ替え、名前も含める必要があります。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つを表示する必要がある場合にのみ最高

4

3 に答える 3

1

$row = mysql_fetch_assoc($result);1行だけエコーします

ユーザー while ループですべてのデータをエコーし​​ます。

于 2013-04-25T18:16:07.767 に答える
1

1つには、次を使用する必要があります。

print_r($row);

いいえ:

echo print_r($row,true);

true変数を省略した場合、 *print_r* は自動的に出力します。これは、応答をechoに渡すのが冗長であるためです。

また、クエリは 3 つの行を返すため、ループする必要があります。

while ($row = mysql_fetch_assoc($result)) {
    print_r($row);
    // or if you just want to output the number, use:
    // echo $row["kills"];
}
于 2013-04-25T17:36:00.017 に答える
-1

クエリ構文に問題はないようです。以下のコードを使用して問題を見つけてください。

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

...

$row = mysql_fetch_assoc($result) or die(mysql_error());
于 2013-04-25T18:02:45.787 に答える