Comunidad de diseño web y desarrollo en internet online

Agenda en PHP & XML & Flash. Recargar el objeto XML()

Citar            
MensajeEscrito el 17 Ago 2008 03:42 pm
Mi problema es el siguiente.

He creado un back-end en PHP para gestionar los conciertos de mi grupo.
Inserto en la BD el lugar, la hora, la fecha, el precio....

Desde flash, en la seccion agenda mostrare todos los datos almacenados en la Base de Datos en un scroll con toda la información.

Hasta aqui, todo me va perfecto... pero claro, a uno del grupo se le ha ocurrido poner dos botones ACTUACIONES PASADAS y PROXIMOS CONCIERTOS que recargen el scroll y solo muestren las actuaciones correspondientes.

Código :

var eventos_xml:XML = new XML();
eventos_xml.onLoad = function(exito) {
   if (exito) {
      numEventos = eventos_xml.firstChild.childNodes.length;
      trace(numEventos);
      for (var i = 0; i<numEventos; i++) {
         idactuaciones[i] = eventos_xml.firstChild.childNodes[i].attributes.foto;
         fecha[i] = eventos_xml.firstChild.childNodes[i].attributes.fecha;
         espectaculo[i] = eventos_xml.firstChild.childNodes[i].attributes.espectaculo;
         lugar[i] = eventos_xml.firstChild.childNodes[i].attributes.lugar;
         hora[i] = eventos_xml.firstChild.childNodes[i].attributes.hora;
         precio[i] = eventos_xml.firstChild.childNodes[i].attributes.precio;
      }
      mostrarDatos();
      delete eventos_xml;
   }else{
      trace("error");
   }
};
function mostrarDatos(){
   for (var contador = 1; contador<=numEventos; contador++) {
      _root.lienzo.attachMovie("ficha","ficha"+contador,contador);
      _root.lienzo["ficha"+contador]._y = posicionEventoy;
      _root.lienzo["ficha"+contador].fecha_txt.text = fecha[contador-1];
      _root.lienzo["ficha"+contador].espectaculo_txt.text = espectaculo[contador-1];
      _root.lienzo["ficha"+contador].lugar_txt.text = lugar[contador-1];
      _root.lienzo["ficha"+contador].hora_txt.text = hora[contador-1];
      _root.lienzo["ficha"+contador].precio_txt.text = precio[contador-1];
      posicionEventoy += 90;
   }
}
function eliminar(){
   for(var i=1;i<=numEventos;i++){
      removeMovieClip(_root.lienzo["ficha"+i]);
   }
}
pasadas.onRelease=function(){
   eliminar();
   eventos_xml.load("eventos.php?id=1");
}
eventos_xml.load("eventos.php");


Como vereis, lo que hago es intentar recargar el php con el nuevo parametro, pero creo que no me recargar el objeto eventos_xml.

Que me falta??? o que deberia hacer para que se recargue el contenido.

Por cierto, esta todo en un solo fotograma... es ese el error????

Gracias por adelantado.

El PHP y el XML generado esta bien, porque sin los botones, todo funciona perfectamente.

Por superloyez

13 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Ago 2008 04:50 pm
estas eliminando tu instancia eventos_xml

quítale

Código ActionScript :

delete eventos_xml;

Por eldervaz

BOFH

10964 de clabLevel

39 tutoriales
56 articulos

Genero:Masculino  

en algún lugar del mundo

clabbrowser
Citar            
MensajeEscrito el 17 Ago 2008 04:58 pm
antes lo hacia sin el delete y tampoco funciona...

En algun tuto crei que mi problema era que una vez creado el objeto xml() ya no me lo vuelve a crear... por eso decidi destruirlo para ver si luego se regeneraba, pero tampo...

Te agradezco tu ayuda, pero ese no es el problema..

Es como si el xml no lo volviera a ejecutar... solo funciona la primera vez, el hecho de recargarlo a traves de un boton es donde tengo los problemas.

Vi un ejemplo en el cual lo actualizaba a traves de un listener a un select, pero en este caso, como son botones, deberia de ser mas facil.

A alguien se le ocurre cual es mi problema y como poder hacer para recargar el scroll con los nuevos datos requeridos????

Llevo unos dias horrorosos intentandolo solucionar, se podria decir que no avanzo, y no se como enfocar el problema, os agradeceria cualquier ayuda.

Por superloyez

13 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Ago 2008 05:46 pm
aqui hice un ejemplo, sin el XML, pero igual me manda los valores

Código ActionScript :

var id:Number = 1;
var eventos_xml:XML = new XML();
eventos_xml.onLoad = function(exito) {
   if (exito) {
      //delete eventos_xml;
      trace(this);
   } else {
      trace("error");
   }
};
pasadas.onRelease = function() {
   eventos_xml.load("http://localhost/eventos.php?id="+(id++));
};
eventos_xml.load("http://localhost/eventos.php");

Código PHP :

<?
if( $_GET['id']){
   $x = $_GET['id'];
}else{
   $x = "test";
}
echo "&x=$x";
?>

en el output

Código :

&amp;x=test
&amp;x=1
&amp;x=2
&amp;x=3
&amp;x=4
&amp;x=5
&amp;x=6
&amp;x=7
&amp;x=8
&amp;x=9

Por eldervaz

BOFH

10964 de clabLevel

39 tutoriales
56 articulos

Genero:Masculino  

en algún lugar del mundo

clabbrowser
Citar            
MensajeEscrito el 17 Ago 2008 07:16 pm
Gracias a la ayuda de eldervaz he solucionado mi problema.

El error que cometia era no reiniciar la variable de posicion de las fichas.

posicionEventoy += 90;

Por lo cual la segunda peticion de datos me mandaba los resultados nuevos lejos de la mascara y no los veia.

function mostrarDatos() {
posicionEventoy = 0;

Por superloyez

13 de clabLevel



Genero:Masculino  

firefox

 

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