Copulando un Datagrid que usa AMFPHP

En el Internet tenemos algunos ejemplos del uso del AMFPHP para la creación de RIA. Veremos que elaboró algo más que "hola un mundo" y ése realmente nosotros van a necesitar y utilizar, vamos populares un Datadrid usando el AMFPHP. Nos iremos de estimado que usted tiene noción de MySQL, de PHP, del flash y del flash de Remoting. Primero nuestra estructura de la base de datos será simple, tendrá el email y teléfono conocidos. Vamos a crear la tabla y a insertar algunos registros adentro.

SQL:
  1. ##table usuarios
  2. CREATE TABLE `usuarios` (
  3.   `id` int(4) UNSIGNED NOT NULL AUTO_INCREMENT,
  4.   `nome` char(80) DEFAULT NULL,
  5.   `email` char(100) DEFAULT NULL,
  6.   `telefone` char(10) DEFAULT NULL,
  7.   PRIMARY KEY  (`id`)
  8. ) ENGINE=MyISAM ;
  9.  
  10. INSERT INTO `usuarios` VALUES ('', 'Fulano', '[email protected]','555555555');
  11. INSERT INTO `usuarios` VALUES ('', 'Sicranos', '[email protected]', '55555555');
  12. INSERT INTO `usuarios` VALUES ('', 'É Nois na Fita', '[email protected]', '44444444');
  13. INSERT INTO `usuarios` VALUES ('', 'E Ai como vai', '[email protected]', '22222222');
  14. INSERT INTO `usuarios` VALUES ('', 'Eu Bebo Sim', '[email protected]', '22222222');

Tenemos nuestra tabla de la base de datos creada, ahora crearemos la sala de clase del AMFPHP que hará conexa con el banco y volverá los datos para el flash.

PHP:
  1. <?php
  2. class query{
  3.     var $host = "localhost";
  4.     var $user = 'root';
  5.     var $database = 'seubanco';
  6.     var $pass = 'suasenha';
  7.  
  8.     function query(){
  9.         $this->methodTable = array(
  10.         "get_user"=>array(
  11.         "description"=>"populando nosso datagrid",
  12.         "access"=>"remote"
  13.         )
  14.         );
  15.         $this->conexao = mysql_pconnect($this->host,$this->user,$this->pass);
  16.         mysql_select_db($this->database);
  17.     }
  18.  
  19.     function get_user(){
  20.         $query = mysql_query("SELECT * FROM usuarios");
  21.         if (!mysql_error()) {
  22.             return $query;
  23.         }else {
  24.             return mysql_error();
  25.         }
  26.     }
  27. }?>

Hasta aquí toda la certeza, ahora vamos al flash. Abre un nuevo documento, vamos a utilizar tan una capa y un marco para importar todas las salas de clase necesarias del Remoting destella.

Actionscript:
  1. //classes do Flash Remoting
  2. import mx.remoting.Service;
  3. import mx.services.Log;
  4. import mx.rpc.RelayResponder;
  5. import mx.rpc.FaultEvent;
  6. import mx.remoting.DataGlue;
  7. import mx.rpc.ResultEvent;
  8. import mx.remoting.PendingCall;
  9. import mx.remoting.RecordSet;
  10. //criando a conexão do flash remoting para o AMFPHP
  11. //coloque o endereço do seu servidor e a sua classe
  12. var conexao = new Service("http://localhost//flashservices/gateway.php", new Log(), "query", null, null);
  13. //chamando o metodo get_user()
  14. var pcs:PendingCall = conexao.get_user();
  15. pcs.responder = new RelayResponder(this, "user_Result", "user_Fault");
  16. function user_Result(res:ResultEvent) {
  17.     var grid = _root.createClassObject(mx.controls.DataGrid, "dg", _root.getNextHighestDepth(), {_x:20, _y:20});
  18.     grid.setSize(400, 350);
  19.     grid.dataProvider = res.result;
  20. }
  21. function user_Fault(fault:FaultEvent) {
  22.     trace(fault.fault.faultstring);
  23. }

¿E que acabamos, usted debe ser si pide, y el DataGrid? ¿Dónde él está? No tenemos lugares él en la película. La contestación no es, porque será dinámicamente creado en la línea:

Actionscript:
  1. var grid = _root.createClassObject(mx.controls.DataGrid, "dg", _root.getNextHighestDepth(), {_x:20, _y:20});

El DataGrid será creado con el nombre del rancho "dg" y en posiçoes x = 20 y y = 20. Ese setSize() se determina pronto después su tamaño con el método. El único requisito es que el componente de DataGrid está en la biblioteca de la película. ¿Un momento, pero si I a desear demostrar solamente algunos campos en datagrid? Dos métodos para esto, uno existen con la escritura de la acción (más laboriosa) y otra en la sala de clase apropiada del AMFPHP demostrado para seguir:
Es bastante para cambiar la línea de la sala de clase del AMFPHP.

PHP:
  1. $query = mysql_query("SELECT nome,email FROM usuarios");

En los artículos siguientes que demostraré en cuanto a el instrumento nuestro uso que inserta, corrigiendo y excluyendo los registros de la base de datos así como el configuración de la disposición y dirigir de nuestro DataGrid.

AMFPHP
http://www.amfphp.org/

Macromedia Flash Remoting
http://www.macromedia.com/devnet/flashremoting/

Esses artigos podem ser interessantes também

  • No Related Post
AMFPHP, Flash, Flash Platform, Flash Remoting, PHP, Principal, RIA

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>