Comunidad de diseño web y desarrollo en internet online

Lectura desde Flash de datos XML no funciona bien.

Citar            
MensajeEscrito el 24 Sep 2007 09:23 am
Hola, estoy intentando hacer que mi película Flash cargue dentro de un objeto XML los datos provenientes de un archivo PHP. Este archivo obtiene ciertos datos desde una base de datos y se los presenta a Flash en formato xml, con lo cual flash puede leerlos y almacenarlos en el objeto XML.

El problema es que este proceso no me funciona si lo hago "al vuelo", no se si me explico: que automáticamente Flash recoja lo que PHP deja en el echo. Sin embargo, si lo hago por partes usando un archivo XML intermedio, es decir, que primero PHP almacene dichos datos xml en el archivo xml, y luego Flash recoja los datos accediendo a ese fichero xml, si que funciona bien.

Yo he visto casos, y de hecho los he probado en mi ordenador, en los que no hace falta usar un archivo xml auxiliar, sino que Flash recoje el xml generado por PHP directamente. ¿Por qué no me funciona así y en cambio sí lo hace usando el archivo auxiliar?

Por TigerVLC

3 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 24 Sep 2007 03:57 pm
Postea algo del código a ver como lo haces (de la recolección de datos en AS y del echo de PHP).
Nota: coloca el código entre etiquetas [*code] [*/code] (sin los asteriscos).

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 24 Sep 2007 04:25 pm
Este es el Actionscript:

Código :

noticias = new XML();
noticias.ignoreWhite = true;

noticias.onLoad = function(exito) {
   if (exito) {
      // de momento solo le hago un trace y lo muestro en un campo de texto para comprobación
      trace("NOTICIAS: " + noticias);
      myText.text = "NEWS: " + noticias.firstChild; 
   } else trace("No se pudo cargar XML de noticias");
};

// Al cargar noticias.php y esperar que este devuelva los datos xml, hay éxito en la lectura, 
// pero no parece devolver nada. Si en vez de noticias.php cargo los datos previamente 
// almacenados en el archivo intermedio text.xml (ver código php), sí que lo lee bien:
noticias.load("noticias.php");


Código PHP:

Código :

$bd = conectar();
$consulta = "SELECT * FROM noticias";
$res = consulta($bd, $consulta);

if ($res->num_rows > 0) {
   $salida = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<noticias>\n";
   while (list($id, $titulo, $contenido, $fecha, $imagen) = $res->fetch_array()) {
      $salida .= "\t<noticia id=\"$id\" titulo=\"".$titulo."\" contenido=\"".$contenido."\" fecha=\"$fecha\" imagen=\"$imagen\" />\n";
   }
   $salida .= "</noticias>\n";
   $file = fopen("test.xml", "w"); // archivo xml auxiliar intermedio, si hago uso de el, funciona, si no, no va
   fwrite($file, "$salida");
} else $salida = "<noticias />";

echo $salida;
$res->close();
$bd->close();


Espero vuestra ayuda, llevo ya con esto demasiado tiempo. :crap:

Por TigerVLC

3 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 24 Sep 2007 08:51 pm
Alguna ayuda por favor?

Por TigerVLC

3 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 24 Sep 2007 09:54 pm
Problema creo que resuelto: tenía que usar el protocolo http al cargar en el objeto XML de Flash el archivo noticias.php, para que se forzara a ser interpretado por el intérprete de PHP:

noticias.load("http://localhost/..../noticias.php")

Por TigerVLC

3 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.