Espero poder explicar el problema de manera correcta y clara y documentar todo lo necesario
Estoy haciendo una aplicacion web que lee datos de una ddbb en mysql
ya hice algo parecido en otro momento y funciono perfectamente
ahora el problema es que la aplicacion desde flash llama a un php que hace la query
si yo llamo al php directamente desde la barra de direcciones del navegador, los datos rsultantes de la query me llegan en menos de 1 segundo
el problema es que cuando esa misma ruta es llamada desde flash, tarda una enormidad y cuelga la mitad de las veces el flash player y el navegador en general
el codigo del php es este
Código PHP :
/*********** esto crea la conexión a la base de datos **************/ $conexio = mysql_connect($host,$user,$pass) or die(mysql_error()); // $conexion es la conexión a usar. mysql_select_db($bbdd,$conexio) or die(mysql_error()); ///////////////////////////////////////////////////////////////////// $pretes = $_GET['nombre']; $tope = $_GET['tope']; $ordenes = explode(",",$pretes); $result = count($ordenes); $todas = ""; for ($i = 0; $i < $result; $i++) { $todas = $todas . "". $ordenes[$i] . "". " OR orders.orders_id = "; } $todas = $todas . "12000"; $consulta = "select orders.orders_id, products_name , customers_name, payment_method, date_purchased, orders_status from orders join orders_products on orders.orders_id=orders_products.orders_id WHERE orders.date_purchased > '".$tope." 00:00:30' OR orders.orders_id = " . $todas ." ORDER BY orders.orders_id"; $res = mysql_query($consulta)or die(mysql_error()); echo "<palaueb>"; while($val=mysql_fetch_array($res)){ echo "<datos id=\"".$val[0]."\" prod=\"".$val[1]."\" name=\"".$val[2]."\" pago=\"".$val[3]."\" dia=\"".$val[4]."\" status=\"".$val[5]."\" />"; } echo "</palaueb>"; mysql_close($conexio); ?>
como les comentaba, si yo llamo a este fechayplus.php?nombre=1981 me responde en un segundo
pero si esto sucede desde el propio flash se queda esperrando que vuelvan esos datos y tarda una enormidad ( cuando no cuelga el ordenador directamente )
asi es llamado y parseado este php ( y de la misma manera lo he usado en otra aplicacion que funciona perfecto en el mismo server, misma version de php etc )
Código ActionScript :
newLoad=new XML(); newLoad.ignoreWhite(); newLoad.ignoreWhite = true; newLoad.onLoad=function(){ gotoAndPlay(6); } newLoad.load("fechayplus.php?nombre=1981");
y esta es la 2º parte que esta unos frames mas adelante , para cuando vuelven los datos
Código ActionScript :
codeorig=newLoad.childNodes[0].childNodes; ver_txt.text = codeorig;// aca tiro todo el texto asi como viene sin parsear solo para ver que llegó stop();
lo mas loco es que las pocas veces que no se cuelga, en la barra de estado del navegador, aparece LEYENDO DESDE MIDOMINIO.COM Y lee y lee y lee aun siendo que ya llegaron esos datos y no hace falta leerse nada mas
Ruego me ayuden en as2 y no propongan AMFPHP o migrar directamente a otro lenguaje o cosas asi
Mi deseo es ver porque no funciona en este escenario en concreto pues ya me ha llevado mucho tiempo desarrollarlo como esta, y soy bastante inexperto en todos los demas metodos de programacion ( y en este tambien, jeje )
Un saludo y gracias a kienes me salven de este lio