Comunidad de diseño web y desarrollo en internet online

serverInfo por etiquetas

Citar            
MensajeEscrito el 25 Ene 2010 12:00 pm
Hola.
Quisiera recoger los resultados de una llamada a una BBDD con AMFPHP. Hasta ahora los hago por posicion:

Si la llamada es (por ejemplo):

Código MySQL :

"SELECT a.id, a.nombre FROM tabla AS a"

Recojo los datos así:

Código ActionScript :

for (var i:int=0; i < datos.serverInfo.totalCount; i++) {
id = datos.serverInfo.initialData[i][0];
nombre = datos.serverInfo.initialData[i][1];
}

Pero no me parece la mejor opción pues si se añaden campos intermedios a la tabla hay que cambiar el código AS. Una forma más correcta sería como hacía en AS2:

Código ActionScript :

id = datos.getItemAt(i).id;

Pero no consigo hacerlo. he probado:

Código ActionScript :

id = datos.serverInfo.initialData[i].id;
id = datos.serverInfo.initialData[i]["id"];

y no funciona. ¿Alguien sabe cómo?

Por juanfher

74 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Ene 2010 12:31 pm
Bajate Charles http://www.charlesproxy.com y mira la estructura de lo que recibes. Si desde PHP devuelves un array (no directamente el recordset) puedes acceder por nombre de columna, ejemplo:

datos[i].Nombre

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 25 Ene 2010 12:51 pm
Buf!... No se por donde empezar con el Charles este... ¿Para qué sirve exactamente?

Por juanfher

74 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Ene 2010 01:53 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 26 Ene 2010 07:14 am
Pues he usado el Charles este y efectivamente la llamada al AMF me develve un RecordSet. ¿Eso significa que tengo que recoger a narices los valores mediante:

Código ActionScript :

datos.serverInfo.initialData[i][0];

y no con:

Código ActionScript :

datos.serverInfo.initialData[i].id; 

o algo parecido?
¡Pues qué putada!

Para conectar con el AMFPHP uso:

Código ActionScript :

import flash.net.NetConnection;
import flash.net.Responder;
var gateway:String = rutadelgateway;
var conexion:NetConnection = new NetConnection;
conexion.connect(gateway);
var responder:Responder;
function error(error:Object):void {
   trace("Error: " + error.description);
}

Y hago la llamada así:

Código ActionScript :

conexion.call(nombredelservicio.funcion, responder);


¿Hay alguna otra forma de conectar con AMFPHP de forma que devuelva un Array y no un RecordSet?

Por juanfher

74 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Ene 2010 09:17 am
En la clase de PHP haz esto

$result = mysql_query("select ....");
while($row = mysql_fetch_array($result)) $recordset[] = $row
return $recordset;

No devuelvas directamente el recordset, y tendras un objeto con los nombres de columnas

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 26 Ene 2010 11:09 am
Ok, gracias. Va perfect!

Por juanfher

74 de clabLevel



 

firefox

 

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