2011-09-20 22 views
2

我有一个包含PATH到图像的表的mysql数据库。在Flash CS5上使用PHP和XML从Mysql加载图像到TileList

我想将图像加载到TileList。现在,我有这个在PHP:

<?PHP 

mysql_connect("localhost", "root", "root"); 
mysql_select_db("prototipo"); 

$result = mysql_query("select entretenimiento_id, e_nombre, e_imagen from   entretenimiento"); 

echo "<?xml version=\"1.0\" ?><entretenimiento>"; 

while($row = mysql_fetch_assoc($result)) 
{ 
    echo "<e_nombre>" . $row["e_nombre"] . "</e_nombre>"; 
    echo "<e_imagen>" . $row["e_imagen"] . "</e_imagen>"; 
} 

echo "</entretenimiento>"; 

?> 

这应该是我拿的图片的路径,如此这般,显示图像平铺的标签上,和名字带给我也该ID,所以我可以启动另一个查询时,该图像被点击。

所有这些设置为动态创建的XML。

现在我的问题....我如何加载???怎么办o AS3?我已经有了tilelist的AS3,我只需要将这个动态创建的XML从PHP加载到它。

在此先感谢。对不起,如果我搞砸了英语,那不是我的主要语言。我是南美人。


我了部分答案:

var path:String = "http://localhost/entretenimiento.php"; 
xmlLoader:URLLoader = new URLLoader(); 
xmlLoader.addEventListener(Event.COMPLETE, onLoadComplete); 
xmlLoader.load(new URLRequest(path));  

function onLoadComplete(e:Event):void { 
    var xmlData:XML = new XML(e.target.data); 
    //trace(xmlData); 

    for (var i:int=0; i<xmlData.*.length(); i++) 
    { 
     myTileList.addItem({label:xmlData.e_nombre[i], source:xmlData.e_imagen[i]}); 
     //trace(xmlData.e_nombre[i]); 
    } 

} 

Althought这说明我的图像,并在地砖上的标题,我还可以得到两个瓷砖是空的,并且在跟踪他们显示作为“未定义”。任何想法为什么是这样的?

回答

0

这里是一个示例代码,应该工作:

var xmlLoader:URLLoader = new URLLoader(); 
xmlLoader.addEventListener(Event.COMPLETE, showXML); 
// change the path of your php file 
xmlLoader.load(new URLRequest("your-file.php")); 
function showXML(e:Event):void 
{ 
    var entretenimiento:XML = new XML(e.target.data); 
    // for each row : 
    for (var x:XML in entretenimiento.loc) 
    { 
     // Change the name of your tilelist 
     myTileList.addItem({label:x.e_nombre, source:x.e_imagen}); 
    } 
} 
+0

谢谢你,我正要张贴我自己的答案时,我看到了你的。谢谢。 – Saul