Estoy generando un archivo XMLdinámico usando PHP para consultar una base de datos. Del lado de Flash estaba usando el metodo Load del objeto XML y funcionaba bastante bien. Para filtrar los resultados mandaba una variable en el url ejemplo:
Código :
XML.load(consulta.php?id=2);
donde id en el archivo PHP lo tomaba con $_GET['id'] y este me ayudaba a filtrar la consulta para despues generar el xml. Hasta aqui todo va bien. pero mi problema es que ahora quiero mandar la consulta SQL directamente desde FLASH y no quiero mandarlo desde el URL. Entonces he intentado usar sendAndLoad. primero intenté con el metodo sendAndLoad del objeto XML, pero al parecer la variable que mande tambien tiene que estar en formato de etiquetas y aqui no sé como debo interpretarlo del lado de PHP. Debido a esto he intentando con sendAndLoad del objeto LoadVars. algo como esto:
Código :
var xml:XML = new XML(); xml.contentType = "text/xml"; xml.ignoreWhite = true; var lv:LoadVars = new LoadVars(); XML.onLoad = function(success){ if(success){ var nodes = this.firstChild.childNodes; trace(nodes.length); } else{ trace("no se pudo abrir el archivo"); } } lv.sendAndLoad("http://.../query.php", xml, "POST");
Aqui tengo dos variables; una de tipo LoadVars y una XML, LoadVar lo uso para enviar y recibo en XML pero los datos no se guardan bien, es decir, no conserva la estructura, los childnodes son un relajo.
Entonces intenté lo siguiente: En el archivo PHP guardo toda la parte del xml en una variable y al final la mando imprimir con un echo algo como esto:
Código :
$miXML=<nodo1> .....</nodo1> echo "cadena=" . $miXML;
Para despues en flash recibir cadena y con ese crear el objeto XML como sigue:
Código :
var xml:XML = new XML(); xml.contentType = "text/xml"; xml.ignoreWhite = true; var lv:LoadVars = new LoadVars(); var rv:LoadVars = new LoadVars(); rv.onLoad = function(success){ if(success){ xml = new XML(this.cadena); //mas codigo } else{ trace("no se pudo abrir el archivo"); } } lv.sendAndLoad("http://.../query.php", rv, "POST");
Pero el problema sigue sin resolverse, la variable XML toma valores maniacos sin orden ni estructura.
Si alguien me puede ayudar, si alguien tiene un ejemplo con codigo fuente tanto de PHP como de AS se lo agradeceré infinitamente