miércoles, 24 de febrero de 2010

Uso de amfPHP y FLex para interactuar con MySQL (parte 2)

Hola al fin un poco de tiempo para continuar con este tutorial, en el anterior nos quedamos hasta donde provabamos que nuestro amfPHP funcionaba bien hoy vamos a crear una pequeña clase en php con un metodo que recupera los datos de una tabla y nos muestra esos datos en un datagrid de flex.. manos a la obra..

1.- Creamos la clase php como podremos observar este archivo se debe llamar igual que el nombre de tu clase

"miClasePHP.php"
 

/**
* @author Jose Roberto León Cruz
* @copyright 2010
*/

class miClasePHP //nombre de mi clase- asi se debe llamar el archivo
{
//metodo que se conectara a la base de datos y obtendra el contenido de la tabla usuarios..
function getUsuarios()
{

$dbhost="xxx"; // host del MySQL (generalmente localhost)
$dbusuario="xxx"; // aqui debes ingresar el nombre de usuario
// para acceder a la base
$dbpassword="xxx"; // password de acceso para el usuario de la
// linea anterior
$db="tutorialFlex"; // Seleccionamos la base con la cual trabajar

$mysql = mysql_connect($dbhost, $dbusuario, $dbpassword);

mysql_select_db( $db ); //acemos que la bd que queremos sea la activa

$sql = "select * from usuariosFlex";
$Result = mysql_query( $sql );
while ($row = mysql_fetch_object($Result)) {
$return[] = $row;//asignamos cada registro a una fila del arreglo
}

return( $return );//regresamos el arrego como tal..
}

}
?>


como podemos apreciar la clase miClasePHP.php solo cuenta con un metodo: getUsuarios() el cual no recibe parametros pero si devuelve un Array que contendra todas las filas de la tabla Usuarios la ventaja de este framework esque podremos manipular ese arreglo directamente desde Flex!! y para eso simplemente necesitamos crear una clase AS3 que nos dara la MAGIA..

conexionRemota.as
 
// Archivo AS3 by Roberts
package {
//librerias necesarias para la conexion del amfPHP
import flash.net.NetConnection;
import flash.net.ObjectEncoding;

//clase que hereda de NetConnection
public class conexionRemota extends NetConnection
{
//Metodo que recibe la URL del gateway de nuestro amfPHP
public function conexionRemota( sURL:String )
{
objectEncoding = ObjectEncoding.AMF0;
if (sURL) connect( sURL );
}

public function AppendToGatewayUrl(s:String):void
{

}
}
}


2.- Ya que tenemos la estructura de las dos clases debemos colocar la clase php en la carpeta services dentro del directorio raiz del amfPHP y la clase conexionRemota.as la debemos incluir en la carpeta src de nuestra aplicacion en flex.

3.- Repaso rapido:

Esta seria la estructuda de mi tabla en sql a la que vamos a accesar desde la funcion getUsuarios de la clase en php liesto ya la tengo creada ahora insertaremos algunos registrods


CREATE TABLE `usuariosFlex` (
`id_usuario` INT NOT NULL AUTO_INCREMENT ,
`nombre_usuario` VARCHAR( 200 ) NOT NULL ,
`edad_usuario` INT NOT NULL ,
PRIMARY KEY ( `id_usuario` )
);)

INSERT INTO `usuariosFlex` ( `id_usuario` , `nombre_usuario` , `edad_usuario` )
VALUES (
'', 'Jose Roberto Leon', '23'
);

INSERT INTO `usuariosFlex` ( `id_usuario` , `nombre_usuario` , `edad_usuario` )
VALUES (
'', 'Juan Carlos Leon ', '13'
);


INSERT INTO `usuariosFlex` ( `id_usuario` , `nombre_usuario` , `edad_usuario` )
VALUES (
'', 'Fulanito equis', '53'
);




bien ahora si ya que tenemos todos los pasos necesarios (la tabla, la clase php que nos accede a esa tabla y su metodo que nos devuelve todos los usuarios de dicha tabla y la clase AS3 que nos permitira enlazar Flex y PHP..

4.- Vamos a Flex y creamos un nuevo proyecto le dejamos como Web Aplication y en Servert Technology lo dejamos en "None" y pulsamos siguiente con lo cual flex nos genera una nueva area de trabajo .

5.- Nos vamos a modo diseño y agregamos un Datagrid y un Boton como se ve en la imagen:

diseño del proyecto

6.- Creamos una variable de tipo conexionRemota y una de tipo Array definida por el atributo [Bindable] <- este es para que esa variable pueda ser reconocida dentro del codigo AS3 y tambien dentro del codigo







import mx.controls.Alert; //para mensajes en ventanitas
//******************USO DEL AMFPHP*****************
//declara una variable de la clase conexion remota
private var miConexion : conexionRemota;

//arreglo que recibira el contenido devuelto por el metodo php
//(en este caso el contenido sera todos los registros de la tabla usuariosFlex)
[Bindable]
private var datos:Array;

private function iniciar():void
{
//ruta del archivo gateway del amfPHP
miConexion = new conexionRemota( "http://logix.com.mx/robert/amfphp/gateway.php" );


}

public function cargarUsuarios():void
{ //nombre de la clase php "punto" invocamos al metodo deseado
miConexion.call( "miClasePHP.getUsuarios", new Responder(exitoFuncion,errorFuncion));
/*podemos ver que dentro de Responder tenemos dos opciones
exito y error las cuales debemos crearlas aqui en AS y seran
invocadas dependiendo si tuvo exito o no la llamada al metodo
getUsuarios*/

}

/*funcion que se invoca cuando tenga exito la llamada
al metodo getUsuarios recibimos un parametro el cual
debe conicidir con el parametro que regrese php en esa
funcion en este caso nuestro metodo php nos devuelve
un arreglo que es el equivalente a Array en Flex*/
private function exitoFuncion(resultado:Array):void
{
/*lo unico que vamos a hacer es asignar ese
arreglo devuelto por php a nuestro arreglo
de Flex y magia*/
datos=resultado;
}
/*funcion que se invoca cuando tenga error la llamada
al metodo getUsuarios aqui tambien recibimos un parametro
de tipo String que contendra la cadena de error enviada
por el php en caso de que haya error*/
private function errorFuncion(error:String):void
{
//aqui solo vamos a mostrar el error en un Alert
Alert.show(error);
}


]]>


















Esto seria todo lo que hay que hacer y NO SE OLVIDEN de llamar a la funcion iniciar al principio de su aplicacion en las tags ponenen initialize="iniciar();" porque sino va a marcar error en el ejemplo anterior ya esta todo funcionando corremos la aplicacion y al pulsar el boton vemos como se nos carga nuestros datos en el DataGrid y en el orden de las columnas y ademas la carga es demaciado rapida.. aa se me olvidaba lo mejor sin usar el XML..

ejemplo funcionando

Esto es todo para esta entrada en la siguiente veremos como añadir editar y eliminar usuarios para cotinuar con este tutorial dejen sus comentarios y sujerencias..

lunes, 22 de febrero de 2010

Uso de amfPHP y FLex para interactuar con MySQL

Hola que tal alfin he tenido tiempecito para empezar a postear sobre como conectar Flex y MySQL mediante PHP utilizando para ello el framework amfPHP que es muy bueno y ademas nos permite pasar variables directamente entre Flex y PHP, esto resulta muy util ya que como sabemos flex puede pasar valores por metodos POST y GET a scripts PHP y lo tradicional es hacer la consulta y obetner el arreglo y que flex manipule ese resultado pero desgraciadamente flex no puede recibir directamente el valor por lo cual nos veriamos obligados a generar un archivo xml para asi poder meter el valor a flex bien amfPHP nos elimina la necesidad de crear el archivo xml y nos da la posibilidad de manipular el arreglo devuelto por php directamente y no solo eso sino que tambien permite intercambiar varibles de tipo nativas como String, int, etc es por eso que se hace indispensable el usarlo..

Para saber mas:
AMFPHP es una implementación en PHP, gratuita y de código abierto del AMF (Action Message Format), el cual es un formato binario basado en SOAP. AMF permite la serialización binaria de objetos y tipos nativos de ActionScript 2 y ActionScript 3 para ser enviados a servicios del lado del servidor. AMFPHP permite que aplicaciones realizadas en Flash, Flex y AIR puedan comunicarse directamente con objetos de clases de PHP

Vamos a hacer este tutorial por pasos para que les sea muy sencillo seguirlo.

1.- Lo primero que necesitamos hacer es descargar el amfPHP desde su web o descarga la version mas estable (y la que yo uso) amfPHPver_1.9

2.- Descomprimimos la carpeta y vamos a tener dos carpetas (_MACOSX y amfPHP) nos intereza la segunda bien esa carpeta la subimos a nuestro servidor ya sea local o remoto en este caso lo voy a hacer remoto para que vean que si funciona. bien descomprimida la carpeta tiene este aspecto:

contenido de amfPHP

bien yo subi todo la carpeta (amfPHP) a la raiz de mi sitio y para ver que esta funcionando accedemos a la siguiente direccion raiz_de_tu_sitio/amfphp/browser/ ami me quedo asi: http://logix.com.mx/robert/amfphp/browser/ y veremos la pantalla de configuracion siguiente ahi solo tenemos que dar click en guardar (Save)

pantalla de inicio

hasta aqui le vamos a dejar por hoy si tengo tiempo edito el post y sino pss lo vemos mañana ok.. no olviden dejar sus conmentarios

domingo, 21 de febrero de 2010

Videotutoriales AS3 del 11 al 15

Siguiendo con las entregas de los VTs aqui les trago la segunda parte esta vez he decidido hacerlos de 5 en 5 para que los puedan descargar mas facilmente, les comento que los he estado revisando y son de primera calidad tambien cabe aclarar que este curso muestra y detalla muy bien las diferencias entre AS2 y AS3 sin mas aqui esta el indice


  • 11.- Importación de mp3 dinamica

  • 12.- Carga de Sonido desde la Biblioteca

  • 13.- Gestion de errores

  • 14.- Errores Personalizados

  • 15.- Mejora de control de los tipos de datos



Descargame aqui...

sábado, 20 de febrero de 2010

Videotutoriales AS3

En esta ocacion les traigo un Curso de ActionScript 3 en español el cual va dirigido para todo el public en general desde quienes tienen nivel medio hasta nivel avanzado y lo mejor es que es uno de los mejores VTs (sino es que el mejor) que he encontrando en la red lo encontre en un servidor no muy conocido pero ahora se los pongo en rapidshare para su desarga rapida lo iré posteando en partes de 10 VTs cada una y en cada post describire el contenido para que te bajes solo lo que necesites...

Primera entrega


  • 01.- Presentación

  • 02.- El nuevo DOM

  • 03.- Diferencias Basicas entre AS2 y AS3

  • 04.- Stage y gestión de eventos

  • 05.- Precargas

  • 06.- navigateToURL el sustituto de getURL

  • 07.- Carga externa de imagenes Clase Loader

  • 08.- Carga de swf externos

  • 09.- Carga de clips desde la biblioteca

  • 10.- Carga de imagenes desde la biblioteca



Descargane desde aqui!!

jueves, 18 de febrero de 2010

Pideme Un Tutorial

Hola que tal pues me encuentro aqui dandole duro al flex..ahora integrandolo con AMFPHP y no he tenido tiempo de publicar mucho, es por eso que abro esta entrada para que pidas un tutorial y me sirve para aprender ami tambien y pues para tener una idea del contenido que quieren que se postee en este blog..

lunes, 15 de febrero de 2010

Login con Estados en Flex

Hola que tal.. futuros seguidores de mi blog,

En esta ocación vamos a ver como hacer un formulario de Login para nuestras aplicaciones en flex por medio de estados..

Los estados de Flex permiten alternar rápidamente entre diferentes conjuntos de componentes.En ActionScript cambiamos de estado con la propiedad currentState="nombreEstado", y al estado inicial nos referimos con una cadena vacía ""

En si los estados serian como las diferentes pantallas de nuestra a plicacion..

El ejemplo que aremos se vera de la siguiente manera (user y pas admin)





por razones de tiempo dejo pendiente el codigo pero comenten si les intereza para subir todo lo mas rapido posible y talvez en la tarde lo tengo arriba...

puse el codigo fuente aqui si quieren verlo y ya mas tarde me dare tiempo de explicarlo va que va...anque esta muy facil de entender.. porque el codigo esta comentado..

sábado, 13 de febrero de 2010

Java Prentice Hall en ESPAÑOL

Bueno amigos les dejo este libro que me ha sido de mucha ayuda para aprender java y lo mas sorprendente es que esta en español a algunos nos da hueva aprender ingles pero lo mejor de los libros esta en ingles.. asi que a estudiar ingles pero mientras aqui les dejo este regalito

Descargame aqui..

Francesita Sexy

Bueno amigos para todos aquellos a los que no van a salir a cenar o a pasear con sus parejas este 14 de febrero les dejo un ragalito, se trata nada mas y nada menos que el video de en alta calidad de Alizee me costo mucho conseguirlo pero al fin aqui lo tienen y si quieren mas pss pidan..

Descargame

pd( es el video donde canta con traje de marinera y se ve muy sexyy): enjoy

Talvez te Intereze...

Me he topado con un pequeño inconveniente en esto del flex asi que lo expuse en los foros de cristalab y de foros del web veamos donde hay mas ctividad y quien parece dar mejores soluciones jajaa
post en Cristalab

Pos en foros del web

es sobre como poner un combo en una grilla y cargar los datos desde un archivo xml

Provando visualizador de codigo para Blogger

Bien como les dije poco a poco ire buscando la manera de como arrglar este bloc y para ello e encontrado un "artilugio" (como lo llaman los de blogger) que sirve para colorear el codigo este es un ejemplo de como se vera el codigo de ahora en adelante:


... tu codigo transformado
a caracteres que no sean interpretados
por tu navegador va aqui...

//comentarios en php

echo "codigo php";



pueden ver la manera de como instalarlo en este blog

viernes, 12 de febrero de 2010

Trabajar con Alert..

Hola bien este es mi primer minituto, los cuales hire haciendo conforme los valla necesitando y que vea que sea muy dificiles de encontrar en google o que talvez hay informacion pero esta en inlges y como no todos le hacemos al ingles almenos yo no al 100% bien aqui el ejemplo lo que haces es simplemente copiar el contenido de una caja de texto a otra preguntando con una alert si lo quier o no copiar y dependiendo de la respuesta (que es donde nos intereza) copia o no el contenido de la primera caja a la segunda.

Este ejemplo se puede utilizar par los casos donde necesitas preguntarle algo al usuario y tomar una accion de acuerdo a su respuesta baja codigo fuente

conforme siga postenado ire mejorando la manera de mostrar codigos y los ejemplos son novato en esto de los blogs y este lo hice ayer jajaja..

jueves, 11 de febrero de 2010

Actualmente me encuentro..

Bueno actualmene estoy desarrollando una pagina web con elementos en flex, php y xml pueden ver un previo en : Previo esto es posible gracias a la colaboracion de algunos amigos que me estan ayudando en el aprendizaje y los tips.. por lo cual si requieren parte del codigo estare encantado de pasarlo y explicarles...

Provando Mario hola Blog

Hola bien pues esta es mi primer entrada en el blog y pss para salir del tipico hola mundo voy a poner este juguito de mario no se necesita instalar nada solo ejecutas y ademas son seis versiones del juego.. aqui les dejo el enlace en lo personal me gusta mucho porque trae mario clasico y mario bross 3...

http://rapidshare.com/files/349264759/Todo.en.Uno.Mario.Collection.rar.html

Descargame Super Mario Bros 3