我有一个Mysql数据库,我正在尝试导入多列的多个记录到闪光AS3使用PHP。我的问题是,我能够让它与单列和多个记录一起工作,但对于多列,我不能正确地格式化它。我希望有一个关联数组(列)的数组(记录),即我希望能够根据'|‘对输出(来自php)进行分区,并将其存储在闪存数组中,然后能够访问每个数组的name,id (参见下面的代码)。
php部分->
<?php
......//connection to mysql db ...etc.
$result = mysql_query($sql);
$output = "success=$db&myArrayForFlash=";
//error check
...
//form the return string
while($myRow = mysql_fetch_assoc($result)){
$arrayElement = "&name=".$myRow['name'];
$arrayElement = $arrayElement."&id=".$myRow['id'];
$output = $output."$arrayElement" . "|";
}
}
echo($output);
?>flash部分->
function completeHandler(e:Event):void
{
if(e.target.data.success=="1"){
var myArray:String = e.target.data.myArrayForFlash; //empty
var myCol:String = myArray[0]['id'];
this.var= e.target.data.myArrayForFlash.split("|");
//do something else
}
else
{
Alert.show("Query failed. \n");
}
}问题是我得到了一个名称数组,id,但是myArrayForFlash是空的(这在某种程度上是预期的).Is,有什么方法可以解决这个问题吗?
我是一个完全新手的flash/php,所以任何帮助都是有用的!
发布于 2011-02-23 05:03:02
function createList(names: Array, ids: Array):Object{
if(names.length != ids.length){
trace('incorrect input');
return null;/*you may throw an error as well*/
}
var hash:Object = new Object();
for(var i: int = 0; i < names.length; i++){
hash[ids[i]] = names[i];/*or hash[names[i]] = ids[i] if name is a key*/
}
return hash;
}更新:
function createList(names: Array, ids: Array):Array{
if(names.length != ids.length){
trace('incorrect input');
return null;/*you may throw an error as well*/
}
var hash:Array = new Array();
for(var i: int = 0; i < names.length; i++){
hash.push({id:ids[i], name:names[i]});
}
return hash;
}https://stackoverflow.com/questions/5081683
复制相似问题