Mi problema es el siguiente. Quiero obtener una matriz de resultados desde PHP. Como PHP no puede pasar matrices a flash a traves de loadVars, que el objeto que estoy utilizando, creo dentro del PHP un sistema de etiquetas XML que deja todas las variables ordenaditas para q las pueda utilizar en flash como si fuese una matriz.
Los resultados en PHP son consecuencia de buscar en una base de datos y todo funcionaba correctamente cuando el parametro para la busqueda estaba fijado en el PHP. Ahora q intento pasarlo desde flash no funciona.
este es el codigo en flash
Código :
var invEnvio:LoadVars=new LoadVars;
var vacia:LoadVars=new LoadVars;
var myXML:XML=new XML
invEnvio.mail="inventario";
invEnvio.sendAndLoad("http://localhost/phpflash/invRec2.php",vacia,"POST");
gotoAndPlay(2);
En el fotograma 2
Código :
vacia.onLoad=function(exito){
aid=this.id;
trace("la id es:"+aid);
}
stop();
gotoAndPlay(3);
En el fotograma 3
Código :
myXML.onLoad=function(){
for(i=2;i<numeroLineas+1;i++){
miClip[i]=_root.createEmptyMovieClip("miClip"+i,500-i);
numTLin=Number(this.childNodes[i].childNodes[0].firstChild.nodeValue);
//trace(numTLin);
longTLin=Number(this.childNodes[i].childNodes[1].firstChild.nodeValue);
impTLin=Number(this.childNodes[i].childNodes[2].firstChild.nodeValue);
miClip[i]._y=12*i;
miClip[i].soyBoton(numTLin,longTLin,impTLin);
}
for(i=numeroLineas+2;i<numeroLineas+numeroResistencias+1;i++){
miClip[i]=_root.createEmptyMovieClip("miClip"+i,500-i);
numTOtro=Number(this.childNodes[i].childNodes[0].firstChild.nodeValue);
valorTOtro=Number(this.childNodes[i].childNodes[1].firstChild.nodeValue);
miClip[i].soyBoton2(numTOtro,valorTOtro);
miClip[i]._y=12*(i-numeroLineas+1);
miClip[i]._x=128;
}
}
myXML.load("http://localhost/phpflash/invRec2.php");
El codigo PHP que parece funcionar es este
Código :
<?PHP
$mail=$_POST['mail'];
$con=mysql_connect("localhost","root","root") or die ("No se ha podido");
mysql_select_db("alumnos",$con) or die ("no se ha podido conectar");
$sqlid="select id from datos where mail='".$mail."'";
$resultado2=mysql_query($sqlid);
$id=mysql_result($resultado2,0);//localiza el usuario activo
echo"&id=".$id;
$consultaLinea="select numero,longitud,valor from lineas where id='".$id."'";//pillo los resultados q necesito
$lineas=mysql_query($consultaLinea);
$consultaResistencia="select numero,valor from resistencias where id='".$id."'";//pillo los resultados q necesito
$resistencias=mysql_query($consultaResistencia);
echo"<?xml version=\"1.0\"?>\n";
while($row=mysql_fetch_row($lineas)){
echo"<linea>
<numero>$row[0]</numero>
<longitud>$row[1]</longitud>
<valor>$row[2]</valor>
</linea\n>";
}
while($rowR=mysql_fetch_row($resistencias)){
echo"<resistencia>
<numero>$rowR[0]</numero>
<valor>$rowR[1]</valor>
</resistencia\n>";
}
?>
Y digo q parece funcionar porque la pantalla de salida de flash muestra los siguientes mensajes.
la id es:74<?xml version="1.0"?>
<linea>
<numero>0</numero>
<longitud></longitud>
<valor></valor>
</linea
><linea>
<numero>9</numero>
<longitud>9999</longitud>
<valor>9999</valor>
</linea
><linea>
<numero>3</numero>
<longitud>20</longitud>
<valor>9999</valor>
</linea
><resistencia>
<numero>0</numero>
<valor></valor>
</resistencia
><resistencia>
<numero>6</numero>
<valor>50</valor>
</resistencia
>
numeroLineas3
El problema es que cuando hago el myXML.onLoad(), los parametros relativos a XML aparecen como undefined.
Espero haberme explicado con claridad.
Gracias
