Manual de Flash

Manejo de Bases de Datos con Flash (Parte III)

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (Ninguna valoración todavía)
Cargando...

Los datos regresados por AMFPHP serán depositados en una colección de arreglos, cosa que para Flash CS3 nativamente no existe, es por ello que debemos realizar un poco más de trabajo para lograr la adaptación de dicha colección.

En el anterior artículo definimos la manera de cómo crear la base de datos y tener acceso a ella mediante PHP para gestionar nuestras páginas web, la relación establecida con AMFPHP se puede observar mediante el uso de su browser el cual nos despliega los datos recibidos del MySQL de nuestro hosting en un datagrid.

Los datos regresados por AMFPHP serán depositados en una colección de arreglos, cosa que para Flash CS3 nativamente no existe, es por ello que debemos realizar un poco más de trabajo para lograr la adaptación de dicha colección, en el caso de trabajar con Flex esto no sería necesario ya que sí reconoce las ArrayCollection.

Al cargar Flash debemos crear un archivo de tipo ActionScript 3, con un nombre cualquiera que lleve extensión .fla. En dicho archivo crearemos las actions necesarias e introduciremos el siguiente script:

import flash.net.*;
  var gate:NetConnection = new NetConnection();
  gate.connect(“http://localhost/amfphp/gateway.php”);
var res:Responder = new Responder(onResult, onFault);
function onResult(responds:Object):void {
  trace(responds);

  }
  function onFault(responds:Object):void{
  for(var i in responds){
  trace(responds[i]);
  }
  }
gate.call("Prueba.obtenerdatos", res);

Con este código Flash recibirá un ArrayCollection, el cual como ya mencionamos por defecto no lo reconoce, es por ello que usaremos un debugging dentro de éste para ver los resultados que se están regresando.

Para efectuarlo tenemos que seleccionar la línea de “trace(responds)” dando clic en la reglilla en el número correspondiente a su línea. Se agregará un punto rojo al inicio que indicará al debug que debe detenerse en esa línea y mostrarnos lo que contiene el objeto “responds”.

Escogemos en el menú la opción “Debug movie” ó pulsamos Ctrl-Shift-Enter, con lo que estableceremos el modo Debug de Flash. En el panel de variables podemos observar que el objeto “responds” esta compuesto por otro objeto llamado “serverInfo” que a su vez contiene dos arreglos llamados “columnNames” y “initialData” los cuales contienen la información que necesitamos y que fue obtenida de la base de datos de tu servidor web.

Gracias a que ahora conocemos la ruta que sigue el objeto responds en vez de utilizar un ArrayCollection en el método “onResult” podemos utilizar la ruta declarando una variable de la siguiente manera “var tabla:Array = responds.serverInfo.initialData;”, así la función onResult quedaría de la siguiente manera:

function onResult(responds:Object):void{
  var tabla:Array = responds.serverInfo.initialData;
  for (var rec:uint=0; rec<tabla.length; rec++){
  trace(tabla[rec][0]);
  }
  }

Con esto se nos regresará el primer dato solicitado del query, que es el nombre de todos los registros en la tabla usuarios de nuestra base de datos, si lo que queremos es obtener la edad cambiamos la línea por tabla[rec][1].

En conclusión, el ser capaz de conectar las aplicaciones Flash a una base de datos es muy importante en la actualidad para poder crear sitios completos, que ofrezcan un servicio adecuado a los clientes y agreguen aún más interactividad con él.

Las bases de datos son un medio de fácil mantenimiento, a las cuales le dedicaremos un costo y recursos mínimos, además de que con experiencia adquirida, el tiempo invertido en su mantenimiento se irá reduciendo.

Sin la interacción de Flash con una base de datos, las páginas web desarrolladas en Flash sólo pasan a ser utilizadas como publicidad estática, una base de datos le permitirá al sitio poder capturar los datos de un formulario, crear cuentas de usuario, y demás acciones.

Deja una respuesta