Загрузка изображений в TileList из Mysql с использованием PHP и XML на Flash CS5 - PullRequest
2 голосов
/ 20 сентября 2011

У меня есть база данных mysql с таблицей, содержащей PATH для изображений.

Я хочу загрузить все изображения в 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>";

?>

Предполагается, что он извлекает мне ПУТЬ изображения, имя, которое указывается на метке плитки, которая отображает изображение, и приносит мне также идентификатор, чтобы я мог запустить другой запрос при нажатии на это изображение.

Все это устанавливается в динамически создаваемый XML.

Теперь мой вопрос .... Как мне загрузить это ??? Что делать с AS3 ?? У меня уже есть 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]);
    }

}

Хотя это показывает мне изображения и заголовки на плитках, я также получаю еще две плитки, которые являются пустыми, и на трассе они отображаются как "неопределенные". Есть мысли, почему это?

1 Ответ

0 голосов
/ 21 сентября 2011

Вот пример кода, который должен работать:

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