トップ 10 プレーヤーのテーブルをフラッシュで作成する必要があります。「TOP 10」ボタンをクリックすると、データベースからデータを取得し、ゲーム画面にリストを印刷する必要があります。ここで作りたいのはビジョンです。
PHP から XML を動的に作成したので、データを Action Script 3 に送信する必要があります。
これがtop.phpファイルです
<?php
$time = $_POST['time'];
session_start();
$name = $_SESSION['vardas'];
$time = strtotime($time);
$times = date('s:H:i', $time);
$_SESSION['test'] = $times;
$_SESSION['test1'] = $username;
$mysqli = new mysqli("localhost","my_db","pass","my_db");
$query = "SELECT userName,time FROM eurokos ORDER by time ASC LIMIT 10";
if (!$mysqli->set_charset("utf8")) {
printf("Error loading character set utf8: %s\n", $mysqli->error);
} else {
// printf(" ", $mysqli->character_set_name());
}
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<results>';
if ($result = $mysqli->query($query)) {
while ($row = $result->fetch_assoc()) {
echo '<user name="'.$row["userName"].'" time="'.$row["time"].'" />';
}
$result->free();
}
echo '</results>';
$mysqli->close();
?>
XML は次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<results>
<user name="someone" time="xxx" />
<user name="someone" time="xxx" />
[...]
</results>
そして、これが私のアクションスクリプトコードです:
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.*; //these lines are wrong, I donn't know how to print answer
// message_txt.text = _message;
}
エラーが発生しました:
Error #1090: XML parser failure: element is malformed. when trying to trace
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()
回答ありがとうございます。