【问题标题】:MySQL, PHP and AS3 - showing content depending on IDMySQL、PHP 和 AS3 - 根据 ID 显示内容
【发布时间】:2015-11-20 05:47:24
【问题描述】:

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

我在框架上创建了一个函数,以及链接包。

我的 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;
    }

}

}

我在第一帧的代码

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。任何帮助将不胜感激。

我尝试了下面的链接,但它们没有帮助。

MySQL,PhP, and Flash As3 Data is not loading properly?

loading images and data from mysql into Flash using PHP?

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

【问题讨论】:

    标签: php mysql actionscript-3 flash


    【解决方案1】:

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

    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;
        }
    
     }
    
    }
    

    这行得通:)

    【讨论】:

      猜你喜欢
      • 2014-01-22
      • 2016-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-13
      • 1970-01-01
      • 2015-08-20
      • 1970-01-01
      相关资源
      最近更新 更多