0

我有名为:“Eurokos”的数据库表,这里有 2 列“名称”和“时间”。我需要在 php 中制作 TOP 10 玩家表,他们通过游戏最快,这意味着我需要花费最少的时间。

要将数据插入我使用 MySQLi 的数据库,选择我需要使用相同的吗?我试过了 $mysqli = new mysqli("localhost","my_db","pass","my_db"); if ($stmt = $mysqli->prepare("SELECT * FROM eurokos e ORDER BY time DESC LIMIT 0, 5"))

你可以帮帮我吗?我不知道如何回显它,如何将它存储在 vars 中?如果可能的话,最好的方法是获取“前 10 名”玩家,在 php 中获取它并发送到 Action Script。

谢谢你。

更新: 我在动作脚本中使用此代码,但它不起作用。我最终如何打印答案(而不是跟踪)?我需要myButton使用帮助。我看到这里没有打印_message = myXml.user.*; message_txt.text = _message;

var myXml:XML;

function uploadTops():void
{
    var myLoader:URLLoader = new URLLoader();
    myLoader.load(new URLRequest("top.php"));
    myLoader.addEventListener(Event.COMPLETE, processXML);
}
function processXML(e:Event):void {
myXml = new XML(e.target.data);
trace(myXml);
}
function myButton(e:MouseEvent):void
{
    uploadTops();
//  _message = myXml.user.*;
//  message_txt.text = _message;
}

我收到错误:Error #1090: XML parser failure: element is malformed.尝试追踪时

at MemoryGame/processXML()[C:\Users\Petras\Downloads\geraseaa\geraseaa\gerase\MemoryGame.as:570]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()
4

1 回答 1

3
<?php
    header("Content-type: text/xml");
    $mysqli = new mysqli("localhost","my_db","pass","my_db");
    $query = "SELECT name,time FROM eurokos ORDER by time DESC LIMIT 10";

    echo '<?xml version="1.0" encoding="UTF-8"?>';
    echo '<results>';
    if ($result = $mysqli->query($query)) {
        while ($row = $result->fetch_assoc()) {
           echo '<user name="'.$row["name"].'" time="'.$row["time"].'" />';
        }
        $result->free();
    }
    echo '</results>';
    $mysqli->close();
?>

这将输出一个 XML 文档,您可以在 AS 中加载和阅读该文档:

<?xml version="1.0" encoding="UTF-8"?>
  <results>
    <user name="someone" time="xxx" />
    <user name="someone" time="xxx" />
    [...]
</results>

每次从 AS 调用 PHP 脚本时,都会动态创建 XML。

于 2013-05-11T08:33:06.120 回答