MySQL、PHP 和 AS3 - 根据 ID 显示内容

MySQL, PHP and AS3 - showing content depending on ID

我正在使用 Flash CC 创建一个交互式地图,其中包含特定站点的大量信息。我正在使用 MySQL 和 PHP 来检索信息,然后将其显示在 flash 中。我正在尝试动态更改站点 ID,然后更改 flash 中显示的数据。

我在框架上创建了一个函数,link 包。

我的PHP代码:

$dbHost = "localhost";
$dbUser = "username";
$dbPass = "password";
$dbName = "dbname";
$dbTable = "tablename";

if (isset($_GET['sn'])) {
    $sn = $_GET['sn'];
    }

// connecting and selecting database
@mysql_connect($dbHost, $dbUser, $dbPass) or die(mysql_error());
@mysql_select_db($dbName) or die(mysql_error());

// getting data
$data = "";
$datatitle = "";
$res = mysql_query("SELECT * FROM ".$dbTable." WHERE Site_ID='$sn'") or die(mysql_error());
while($row = mysql_fetch_object($res)) {
    $data .= strip_tags($row->Site_Description);
    $datatitle .= $row->Site_Name;
}
die($data);

这是我的动作脚本包: 包 {

import flash.display.MovieClip;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.text.TextField;
import flash.events.IOErrorEvent

public class App extends MovieClip {
    public static const URL:String = 'http://weburl/get.php';

    private var _loader:URLLoader;
    private var _request:URLRequest;

    public function App():void {
        output(" ");
        loadData();
    }

    public function onLoadData(e:Event):void {
        output( e.target.data);
    }
    private function onDataFiledToLoad(e:IOErrorEvent):void {
        output("onDataFiledToLoad error=" + e.text);
    }
    public function output(str:String):void {
        var text:String = field.text;
        field.text = str + "\n" + text;
    }

}

}

我在第 1 帧的代码

function loadData():void {
internal var siteNumber = 2;

next_site30.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler30n); 
function mouseDownHandler30n(event:MouseEvent):void 
{ siteNumber = siteNumber + 1;
    trace(siteNumber);

}

output(" ");

var randomParam:String = "?p=" + Math.floor(Math.random() * (10000000)) + "&sn=";
_loader = new URLLoader();
_request = new URLRequest(URL + randomParam + siteNumber);
_request.method = URLRequestMethod.POST;
_loader.addEventListener(Event.COMPLETE, onLoadData);
_loader.addEventListener(IOErrorEvent.IO_ERROR, onDataFiledToLoad);
_loader.addEventListener(IOErrorEvent.NETWORK_ERROR, onDataFiledToLoad);
_loader.addEventListener(IOErrorEvent.VERIFY_ERROR, onDataFiledToLoad);
_loader.addEventListener(IOErrorEvent.DISK_ERROR, onDataFiledToLoad);
_loader.load(_request);             
stop();     
}   

目前,siteNumber 正在增加,但尚未应用于 URL。任何帮助将不胜感激。

我已经尝试了下面的 links 但他们没有帮助。

loading images and data from mysql into Flash using PHP?

Load images to a TileList from Mysql using PHP and XML on Flash CS5

我更改了第一帧的代码(现在只包含按钮):

import flash.events.Event;
import flash.events.MouseEvent;
next_site30.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler30n); 
            function mouseDownHandler30n(event:MouseEvent):void 
            { siteNumber = siteNumber + 1;
                trace(siteNumber);
                loadData();
            }
prev_site30.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler30prev); 
            function mouseDownHandler30prev(event:MouseEvent):void 
            { siteNumber = siteNumber - 1;
                trace(siteNumber);
                loadData();
            }

这是包 Actionscript 代码:

package {

import flash.display.MovieClip;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.text.TextField;
import flash.events.IOErrorEvent

public class App extends MovieClip {
    public static const URL:String = 'http://leonoravirtual.designsensetest.net.au/get.php';

    private var _loader:URLLoader;
    private var _request:URLRequest;
    public function App():void {
        output(" ");
        loadData();
    }
    var siteNumber:int = 2;

    public function loadData():void {
        output(" ");

        var randomParam:String = "?p=" + Math.floor(Math.random() * (10000000)) + "&sn=";
        _loader = new URLLoader();
        _request = new URLRequest(URL + randomParam + siteNumber);
        _request.method = URLRequestMethod.POST;
        _loader.addEventListener(Event.COMPLETE, onLoadData);
        _loader.addEventListener(IOErrorEvent.IO_ERROR, onDataFiledToLoad);
        _loader.addEventListener(IOErrorEvent.NETWORK_ERROR, onDataFiledToLoad);
        _loader.addEventListener(IOErrorEvent.VERIFY_ERROR, onDataFiledToLoad);
        _loader.addEventListener(IOErrorEvent.DISK_ERROR, onDataFiledToLoad);
        _loader.load(_request);
    }  

    public function onLoadData(e:Event):void {
        output( e.target.data);
    }
    private function onDataFiledToLoad(e:IOErrorEvent):void {
        output("onDataFiledToLoad error=" + e.text);
    }
    public function output(str:String):void {
        var text:String = field.text;
        field.text = str + text;
    }

 }

}

这有效:)