Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Помогите с mysql+php+xml+as3 (http://www.flasher.ru/forum/showthread.php?t=144307)

mdimaas 08.09.2010 19:25

Помогите с mysql+php+xml+as3
 
Здравствуйте!

У меня такая задача я сделал флэш видео плеер с плейлистом, плейлист загружаю из бд через php в xml и во флэш, при такой загрузке у меня выдает ошибку:

TypeError: Error #1088: Разметка в документе, следующим за корневым элементом, должна быть в правильном формате.
at flv_player_finish_fla::MainTimeline/dataLoaded()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()

а если создаю файл сам ручками то все нормально работает:confused:

вот код каторым я создаю xml
check.php:
PHP код:

<?php

header 
"Content-type: text/xml" );

include(
"db.php");

$query mysql_query("SELECT * FROM video ORDER BY id DESC LIMIT 0, 5");
$check mysql_fetch_array($query);


$xml_create "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
$xml_create .= "<videos>\n";
do {
    
$xml_create .= "\t<video_path>".$check['url']."</video_path>\n" ;
    
$xml_create .= "\t<video_title>".$check['title']."</video_title>\n";
    
$xml_create .= "\t<date_d>".$check['date']."</date_d>\n\n" ;
}
while (
$check mysql_fetch_array($query));
$xml_create .= "</videos>";

echo 
$xml_create;

?>

а вот что пишу во фэше:

Код AS3:

var xmlURLLoader:URLLoader = new URLLoader();
var xmlURLRequest:URLRequest = new URLRequest("check.php");
xmlURLLoader.load(xmlURLRequest);
xmlURLLoader.addEventListener(Event.COMPLETE,dataLoaded);
 
 
function dataLoaded(event:Event):void{
        var theXMLData:XML = new XML(xmlURLLoader.data);
        theXMLData.ignoreWhite = true;
        var a:Number = theXMLData.video_path.length();
 
        while(b<a){
                videoList.push(theXMLData.video_path[b]);
                titleList.push(theXMLData.video_title[b]);
                dateList.push(theXMLData.date_d[b])
 
                with(holder){
                        var vidTemp = new bgk();
                        vidTemp.x = 0;
                        vidTemp.y = b*72;
 
                        vidTemp.titleBox.text = titleList[b];
                        vidTemp.dateBox.text = dateList[b];
 
                        vidTemp.flvPathVar = videoList[b];
 
                        addChild(vidTemp);
                }
 
                b= b+1;
        }
        flvControl.source = videoList[videoIndex];
        artistVar = titleList[videoIndex]
        scroller.source = holder;
 
}

Уже несколько дней мучаюсь :(

Подскажите пожалуйста в чем заключается ошибка??? Заранее большое спасибо!!!

e_gamer 08.09.2010 21:59

Рекомендую такую конструкцию:
PHP код:

while ($row mysql_fetch_assoc($result)) {
........
блок выполнения


Так же советую применять классы для работы с XML (DOM-модель).

mdimaas 08.09.2010 23:21

Цитата:

Сообщение от e_gamer (Сообщение 934454)

Так же советую применять классы для работы с XML (DOM-модель).

Вы имеете ввиду, вместо этого:
Код AS3:

        videoList.push(theXMLData.video_path[b]);
                titleList.push(theXMLData.video_title[b]);
                dateList.push(theXMLData.date_d[b])

писать вот так:
Код AS3:

videoList.firstChild.ChildeNotes.valueof

что типа такого?

etc 08.09.2010 23:30

Для начала неплохо было бы вывести в трейс xmlURLLoader.data.

e_gamer 09.09.2010 03:47

Небольшая справка

mdimaas 09.09.2010 17:53

Цитата:

Сообщение от etc (Сообщение 934474)
Для начала неплохо было бы вывести в трейс xmlURLLoader.data.


Спасибо, я сделал, оказывается надо было указать полный адрес к пхп:)


Часовой пояс GMT +4, время: 21:38.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.