Comunidad de diseño web y desarrollo en internet online

Como Convertir los datos que me devuelve la Funcion Call.

Citar            
MensajeEscrito el 15 Sep 2011 07:46 pm
Hola estoy conectando Flez Air con MySql... La conecxion Funciona de maravillas el problema que tengo es que no hacer como hacer para reciebir el arreglo con los datos de la bases de datos...

este es mi codigo:

PHP:

Código PHP :

<?php 
   Class miClase
   {
      function getUsuarios()
      {
         $dbhost = "localhost";
         $dbusuario = "root";
         $dbpassword = "*****";
         $db = "usuarios";
         
         $mysql = mysql_connect($dbhost, $dbusuario, $dbpassword);
         mysql_select_db ($db);
         
         $sql = "SELECT* FROM `usuarios` WHERE status_usuarios = 1";
         $result = mysql_query($sql);
         
         return($result);
      }
   }

?>


En Flex:

Código PHP :

<mx:Script>
      <![CDATA[
         import com.maclema.mysql.Connection;
         
         import mx.controls.Alert;
         import mx.events.ItemClickEvent;
         public var gatewat:Conn; // Conn estan los parametros de conecxion!!
         
         import mx.collections.ArrayCollection;
         private var datos3:ArrayCollection;
         [Bindable]
         private var datos4:Array;
         
         
         private function Iniciar():void
         {
            gatewat = new Conn("http://127.0.0.1/amfphp/gateway.php");
         }
         
         private function recibir():void
         {
            gatewat.call("miClase.getUsuarios", new Responder(exitos,error));
         }
         
         private function exitos(event:Object):void
         {
            trace(Array(event));      //ACA TENGO PROBLEMA
            //datos3 = event.getUsuarios.lastResult;
            datos4 = event.toString();
         }
         
         private function error():void
         {
      
         }
      ]]>
   </mx:Script>



Un DataGrid recive por medio del dataProvider="{datos3}" el arreglo...

Saludos!!!

Por kakinets

41 de clabLevel



 

msie
Citar            
MensajeEscrito el 15 Sep 2011 07:55 pm
¿Que es com.maclema.mysql.Connection? ¿Que tipo de encoding usa?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Sep 2011 08:03 pm
Uso AMFPHP y eso de com.maclema.mysql.Connection me qdo de una prueva de un Scrip q hice!!!

Yo logre conectar pero de otra maner creando un objeto remoto sim problemas.

Código Flex :

   <mx:RemoteObject id="miServicio" endpoint="http://127.0.0.1/amfphp/gateway.php"
                source="miClase"  destination="miClase" showBusyCursor="true">
      <mx:method name="getUsuarios" result="onResuld();"/>
   </mx:RemoteObject>


Pero me gusta mas la forma que puse en el post anterior por que puedo encasular todo en una clace y no me qda un codigo en el programa principal tan largo....

Saludos..

Por kakinets

41 de clabLevel



 

msie
Citar            
MensajeEscrito el 15 Sep 2011 08:13 pm
Puedes usar NetConnection directamente, no es necesario un RemoteObject, yo tambien lo hago así. Para acceder al recordset como un objeto con propiedades, es decir en el onResult, a través del evt.result, devuelve desde PHP un array asociativo

return mysql_fetch_array($result);

Luego recibes un array de objetos, cada objeto es una fila y cada columna una propiedad, así si quiero acceder a la fila 5, columna nombre hago

evt.result[4].Nombre;

Para ver la estructura de lo que te devuelve, te recomiendo que uses un sniffer, por ejemplo http://www.charlesproxy.com

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Sep 2011 09:47 pm
Chino basico ese sniffer jejeje!!

Por kakinets

41 de clabLevel



 

msie
Citar            
MensajeEscrito el 15 Sep 2011 09:51 pm
Como cacturo juesta esa transferencia!! capturo de todo me nos eso!! me quiero morir!!

Por kakinets

41 de clabLevel



 

msie
Citar            
MensajeEscrito el 15 Sep 2011 10:56 pm
Bueno modifique un poco el codigi pero sin obtener ningun dato!!! aca se los dejo...

Código Flex :

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
                  width="554" height="354" layout="absolute"
                  creationComplete="Iniciar();" showStatusBar="false" >

   <mx:Script>
      <![CDATA[
         //Conecxion
         import flash.net.NetConnection; 
         import flash.net.Responder; 
         private var gateway:String = "http://127.0.0.1/amfphp/gateway.php"; 
         private   var conexion:NetConnection = new NetConnection; 
         private   var responder:Responder = new Responder(exitos, error);; 
         
         //Array
         import mx.collections.ArrayCollection;
         private var datos3:ArrayCollection;
         [Bindable]
         private var datos4:Array;
         
         //Codigo
         private function Iniciar():void
         {
            conexion.connect(gateway); 
         }
         
         private function recibir():void
         {
            conexion.call("miClase.getUsuarios", responder);
         }
         
         private function exitos(event:Object):void
         {
            trace(Array(event));
            datos4 = event.lastResult;
            txt.text = event.lastResult;

         }
   
         private function error():void
         {
            txt.text = "Erroe";
         }
      
      ]]>
   </mx:Script>
   
   <mx:DataGrid x="10" y="10" width="532" height="170" dataProvider="{datos4}">
      <mx:columns>
         <mx:DataGridColumn dataField="id_usuarios" headerText="ID"/>
         <mx:DataGridColumn dataField="nombre_usuarios" headerText="Nombre"/>
         <mx:DataGridColumn dataField="edad_usuarios" headerText="Edad"/>
      </mx:columns>
   </mx:DataGrid>
   <mx:Button x="10" y="325" label="Traer Datos" click="recibir();"/>
   <mx:TextArea id="txt" x="10" y="188" width="532" height="129"/>
   
</mx:WindowedApplication>



el problema lo tengo en private function exitos(event:Object):void , no se como interpretar los datos en esa parte para comvertirlos y pasarlos al Data Gril!!

Por kakinets

41 de clabLevel



 

msie
Citar            
MensajeEscrito el 16 Sep 2011 12:57 am
Sip, empezaste contandonos que no podías capturar los datos, no hace falta que lo repitas.

Chino basico ese sniffer jejeje!!


Jeje, si no puedes entender eso, muchísimo menos entendiste mi anterior respuesta. En este tuto explico un poco como se usa Charles (es Remoting con Flash, pero el Charles se usa igual) http://www.flash-db.com/Tutorials/helloAS3/

Por cierto, curioso tu pseudo-español, ¿de que país eres?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Sep 2011 04:42 am
Problema Solucionado.. Leyendo un poco encontre una forma muy simple de mandar un Array desde el PHP y recivirlo en FLEX...

Solucion:

PHP:

Código PHP :

<?php 
   Class miClase
   {
      function getUsuarios()
      {
         $dbhost = "localhost";
         $dbusuario = "root";
         $dbpassword = "root";
         $db = "usuarios";
         
         $mysql = mysql_connect($dbhost, $dbusuario, $dbpassword);
         mysql_select_db ($db);
         $sql = "SELECT* FROM `usuarios` WHERE status_usuarios = 1";
         $result = mysql_query($sql);
         while ($row = mysql_fetch_object($result)) {                        
            $return[] = $row;                
         }               
         return($return);
      }
   }
?>



Flex: Solo la funcion "exitos" que es donde tenia el problemas antes.

Código Flex :

         private function exitos(event:Array):void
         {
            trace(event);
            datos4 = event;
         }


Bueno no se si es correcta la solucion pero me anda bien!! saludos...

Por kakinets

41 de clabLevel



 

msie

 

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