0

PHP 的新手。尝试在 Flash 中创建一个高分表,我已将我的游戏链接到数据库,并且可以毫无问题地将分数发送给它。我也可以检索它们,但问题在于输出。

我的用于检索数据并输出的 PHP 代码:

<?php
include_once("connect.php");
if ($_POST['systemCall'] == "getScores"){
    $sql = "SELECT * FROM highscores ORDER BY score DESC LIMIT 0,5";
    $query = mysql_query($sql);
    $counter = mysql_num_rows($query);
    if ($counter > 0){
        while ($data = mysql_fetch_array($query)){
            $name = $data["name"];
            $correct = $data["correct"];
            $time = $data["time"];
            $score = $data["score"];
            print "systemResult=$name\t\t\t$correct\t\t$time\t\t$score\n\n\n";
        }
    } else {
        print "systemResult=Error.";
    }
}
?>

Flash 和 AS3 正在接收输出,我已经将它显示在我想要的游戏中,问题是“systemResult=”出现在所有输出的开头,但第一个输出除外。所以高分表是这样的:

name                  correct    time    score
alice                 19/20      38s     2182
systemResult=bob      17/20      68s     1827
systemResult=charlie  15/20      55s     1722

我知道我可能可以通过字符串操作来删除它,但我想正确地做到这一点 - 我是否以正确的方式输出数据,如果没有,正确的方式是什么?

谢谢

4

1 回答 1

0

我假设您正在检索数据并使用该systemResult项目。如果是这样,将代码更改为以下内容应该可以解决问题。

if ($counter > 0){
    print "systemResult=";
    while ($data = mysql_fetch_array($query)){
        $name = $data["name"];
        $correct = $data["correct"];
        $time = $data["time"];
        $score = $data["score"];
        print "$name\t\t\t$correct\t\t$time\t\t$score\n\n\n";
    }
} else {
    print "systemResult=Error.";
}
于 2013-03-06T10:22:03.773 回答