我在Flash CS5上构建这个AIR应用程序,我有这个TileList从数据库加载它的数据(图像和名称)。
我想在点击时使用Tilelist中的任何项目进行查询,因此我需要将该项目的名称发送到将执行查询的PHP文件。
我想到了一个在单击项目时将项目名称加载到变量的函数。
如何将其发送到PHP文件以及如何将其加载到查询中?
非常感谢任何有帮助的人。
更新
我想在php文件上查询的内容如下:SELECT lat,lon FROM mapdata WHERE name = theVariable ;
答案 0 :(得分:0)
您可以通过$ _GET或$ _POST将其发送到php文件。看起来像是:
... query.php?string={ INSERT ENCODED STRING }
答案 1 :(得分:0)
您可以使用URLLoader
向/从Web服务发送和接收数据。只需添加您想要的数据(可能为URLVariables
)。出于安全原因,我会避免显然发送这样的全部查询。
在将输入放入查询之前,请不要忘记清理输入!
我对PHP部分帮不了多少 - 自从我在PHP工作多年以来。你会使用$ _POST或$ _GET,我怀疑有清理数据的现成函数,所以可以安全地将它发送到数据库(某种形式的escape
或encode
)。
答案 2 :(得分:0)
正如Jonatan Hedborg所说:
var url:String = "http://www.[yourDomain].com/application.php";
var request:URLRequest = new URLRequest(url);
var variables:URLVariables = new URLVariables();
variables.exampleSessionId = new Date().getTime();
variables.exampleUserLabel = "guest";
request.data = variables;
var loader:URLLoader = new URLLoader();
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);
function onLoadData(e:Event):void {
trace("onLoadData result=" + e.target.data);
}
function onDataFiledToLoad(e:IOErrorEvent):void {
trace("onDataFiledToLoad error=" + e.text);
}
不要忘记在服务器上添加crossdomain.xml,以防万一,例如,如果您是从另一个域发出请求。