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;
}
}
}
这有效:)
我正在使用 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;
}
}
}
这有效:)