Foros del Web » Creando para Internet » Flash y Actionscript »

Cargar de php a un datagrid en Flex

Estas en el tema de Cargar de php a un datagrid en Flex en el foro de Flash y Actionscript en Foros del Web. hola estoy tratando de cargar los datos de una tabla a travez de PHP a fles, peor no me resulta, el codigo de php esta ...
  #1 (permalink)  
Antiguo 27/12/2008, 19:23
 
Fecha de Ingreso: julio-2008
Mensajes: 31
Antigüedad: 15 años, 9 meses
Puntos: 1
Cargar de php a un datagrid en Flex

hola estoy tratando de cargar los datos de una tabla a travez de PHP a fles, peor no me resulta, el codigo de php esta bien , peor no el de flex.
y por favor no me manden al ejemplo de flex porque no me sirve, porque alli hay campos de entrada, para mi ejemplo yo solo tengo un data grid que se carga por defecto cuando ejecuto la pagina


muchas gracias
desde ya
  #2 (permalink)  
Antiguo 27/12/2008, 20:11
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Respuesta: Cargar de php a un datagrid en Flex

Hola jmunoz !

Podrías poner el código PHP y la parte en Flex donde llenas el Datagrid ?

Un saludote !
__________________
Una contraseña es como la ropa interior. No deberías dejarlas afuera a la vista de otras personas, deberías cambiarla regularmente, y ni se te ocurra prestarla a extraños.
  #3 (permalink)  
Antiguo 28/12/2008, 15:47
 
Fecha de Ingreso: julio-2008
Mensajes: 31
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Cargar de php a un datagrid en Flex

aqui va el codigo muchas gracias


AQUI SE DEBERIAN CARGAR LOS DATOS

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" width="600" height="536" themeColor="#ffffff" borderColor="#ffffff" creationComplete="envioDatos.send()" >
<mx:HTTPService id="envioDatos" url="http://localhost:81/flex/php/envio.php" useProxy="false"/>


<mx:VBox>
<mx:DataGrid x="30" y="131" width="560" dataProvider="{envioDatos.lastResult.users.user)">
<mx:columns>
<mx:DataGridColumn headerText="Nombres" dataField="nombres"/>
<mx:DataGridColumn headerText="Apellidos" dataField="apellidos"/>
<mx:DataGridColumn headerText="Ciudad" dataField="ciudad"/>
</mx:columns>
</mx:DataGrid>
<mx:LinkButton x="20" y="225" label="Carga Grilla"/>
</mx:VBox>

</mx:Canvas>

estoy trabajando con vistas y esta pagina e suna de ellas.

PHP

<?php
$con = mysql_connect("localhost","root");
if (!$con)
{
die('Sin conexion: ' . mysql_error());
}
mysql_select_db("pruebas", $con);

//return a list of all the users
$Query = "SELECT * from alumnos";
$Result = mysql_query( $Query );

$Return = "<users>";

while ( $User = mysql_fetch_object( $Result ) )
{
$Return .= "<user>
<nombres>".$User->nombres."</nombres>
<apellidos>".$User->apellidos."</apellidos>
<sexo>".$User->sexo."</sexo>
<ciudad>".$User->ciudad."</ciudad>
</user>";
}
$Return.= "</users>";

mysql_free_result($Result);
print ($Return);

?>
  #4 (permalink)  
Antiguo 29/12/2008, 14:53
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Respuesta: Cargar de php a un datagrid en Flex

Hola Jmunoz !

El script PHP está bien, lo único donde veo el detalle es en la parte Flex:

Cierras con un paréntesis, en lugar de llaves:
Código actionscript:
Ver original
  1. dataProvider="{envioDatos.lastResult.users.user)"

Forma Correcta:
Código actionscript:
Ver original
  1. dataProvider="{envioDatos.lastResult.users.user}"

También otra cosa importante, en la raiz de tu servidor coloca un archivo con nombre crossdomain.xml, esto con el fin de permitir a Flex conectarse con el servidor, sino existe Flex va a lanzar una excepción de seguridad.

crossdomain.xml
Código xml:
Ver original
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <cross-domain-policy>
  3.  <allow-access-from domain="*" />
  4. </cross-domain-policy>

Un saludote !
__________________
Una contraseña es como la ropa interior. No deberías dejarlas afuera a la vista de otras personas, deberías cambiarla regularmente, y ni se te ocurra prestarla a extraños.
  #5 (permalink)  
Antiguo 29/12/2008, 15:42
 
Fecha de Ingreso: julio-2008
Mensajes: 31
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Cargar de php a un datagrid en Flex

muchas gracias, muchas gracias, era lo de la llave, trataba de ver el error en cosas mas complejas y no vi ese detalle, muchas gracias


saludos
  #6 (permalink)  
Antiguo 30/12/2008, 18:19
 
Fecha de Ingreso: febrero-2008
Mensajes: 40
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Cargar de php a un datagrid en Flex

¿Por qué haces la conexión por el puerto 81?

¿Sin eso no funcionaria?
  #7 (permalink)  
Antiguo 30/12/2008, 18:55
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Respuesta: Cargar de php a un datagrid en Flex

Cita:
Iniciado por thorrr Ver Mensaje
¿Por qué haces la conexión por el puerto 81?

¿Sin eso no funcionaria?
Hola thorrr !

Debe de tener su servidor local configurado en el puerto 81, por defecto es el 80 pero puedes cambiarlo si así gustas.

Si tienes instalado el servidor Apache, puedes cambiar el puerto desde el archivo httpd.conf

Código:
#Listen
Listen 80
Un saludote !
__________________
Una contraseña es como la ropa interior. No deberías dejarlas afuera a la vista de otras personas, deberías cambiarla regularmente, y ni se te ocurra prestarla a extraños.
  #8 (permalink)  
Antiguo 30/12/2008, 20:05
 
Fecha de Ingreso: julio-2008
Mensajes: 31
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Cargar de php a un datagrid en Flex

exacto !, el puerto 80 lo tengo reservado para IIS con asp y el 81 para apache


saludos
  #9 (permalink)  
Antiguo 31/12/2008, 05:18
 
Fecha de Ingreso: febrero-2008
Mensajes: 40
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Cargar de php a un datagrid en Flex

Hola, muchas gracias por la respuesta a los dos.

El problema es, que estoy intentando hacer el mismo ejemplo de aquí, por intentar hacer la conexión entre flex y php por primera vez, al ser simple me a parecido adecuado, pero no lo consigo...

He creado una base de datos con una única tabla llamada "alumnos". Y respecto a tu ejemplo e cambiado un poco los campos. Los míos se llaman: nombre, apellido, sexo y direccion, en el documento flex he cambiado esto:

Código:
<mx:HTTPService id="envioDatos" url="http://localhost:80/fold_cont/envio.php" useProxy="false"/>
y en el directorio "/var/www/fold_cont/" está envio.php. Si copio y pego en el navegador "http://localhost:80/fold_cont/envio.php", me saca bien lo que tiene que sacar que es esto:

Código:
<users><user>
		<nombre>nombre1</nombre>
		<apellido>apellido1</apellido>
		<sexo>mujer</sexo>
		<direccion>direccion1</direccion>
	</user><user>
		<nombre>nombre2</nombre>

		<apellido>apellido2</apellido>
		<sexo>hombre</sexo>
		<direccion>direccion2</direccion>
	</user><user>
		<nombre>nombre3</nombre>
		<apellido>apellido3</apellido>

		<sexo>mujer</sexo>
		<direccion>direccion3</direccion>
	</user><user>
		<nombre>nombre4</nombre>
		<apellido>apellido4</apellido>
		<sexo>hombre</sexo>

		<direccion>direccion4</direccion>
	</user></users>
pero en el flex builder, cuando lo ejecuto me saca una hoja en blanco. No me carga nada. He intentado usar el debugger, pero creo que nisiquiera llega a la segunda linea.

Perdonad por la chapa, pero lo he hecho para que entendais mejor mi problema..

Muchas gracias!
  #10 (permalink)  
Antiguo 31/12/2008, 06:46
 
Fecha de Ingreso: febrero-2008
Mensajes: 40
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Cargar de php a un datagrid en Flex

Nada, solucionado. No sé exactamente cual era el problema, pero e empezado un nuevo proyecto, e seguido los mismos pasos y...funciona. Muchas gracias!!
  #11 (permalink)  
Antiguo 19/03/2009, 11:50
 
Fecha de Ingreso: marzo-2009
Mensajes: 2
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Cargar de php a un datagrid en Flex

Muchas gracias
  #12 (permalink)  
Antiguo 01/09/2009, 10:55
 
Fecha de Ingreso: septiembre-2009
Mensajes: 3
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Cargar de php a un datagrid en Flex

Yo quiero hacer lo mismo pero para cargar los datos en un combobox, el problema es que no me los carga.

en esa pagina puse mi codigo, porque por ser nueva no me dejaron poner mi codigo

https://sites.google.com/site/dudassobreflex/
  #13 (permalink)  
Antiguo 02/09/2009, 07:26
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: Cargar de php a un datagrid en Flex

Debiste haber puesto tu post como un tema nuevo, veras vi varios detalles en tu codigo.

En el php lo primero que debes poner cuando generas un archivo xml es enviar las cabeceras de xml, ademas usar print en vez de echo:
Código php:
Ver original
  1. <?
  2. header("Content-type: text/xml");      
  3.  
  4.     include('../funciones/login_validate.php');    // Validar que esté logueado
  5.     include('../funciones/rights_functions.php');    // Areas de acceso
  6.     include('../funciones/dbcon.php');            // Conexion a la base de datos
  7.     include('../funciones/comunes.php');            // Herramientas
  8.     include('../config.php');
  9.    
  10.     $query = "Select id, name from clients ORDER BY name ASC";
  11.       $res1 = mysql_query($query,$conexion);
  12.       print "<clientes>";
  13.       while($client = mysql_fetch_assoc($res1)) {
  14.           print "<cliente id='".$client['id']."'>".$client['name']."</cliente>";
  15.              }
  16.         print "</clientes>";
  17. ?>

Ahora desde flex, tu url es mejor si no usas las rutas relativas, es decir en vez de poner url="php/reportes/index.php" debes poner url="http://proyecto/php/reportes/index.php"

En flex ademas no veo en donde mandes a llamar a ese archivo php, aunque lo declaras no ejecutas su metodo send. Puedes consultar el archivo php cuando se termine de crear la aplicacion, es decir en el metodo creationComplete:

Código xml:
Ver original
  1. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="clients.send()">

y a la hora de cargar los datos en el combo debes especificar, correctamente el campo que deseas (ya que es un atributo le pones la @):

Código xml:
Ver original
  1. <mx:ComboBox id="quien" dataProvider="{clients.lastResult.cliente}" labelField="@id" />

Como veras tienes que familiarizarte un poco mas con xml y con action script para sobrevivir en esto que se llama flex, como recomendacion final te sugiero que cada vez aque postees un problema al ejemplo quitale todo lo que no tiene nada que ver con tu duda
  #14 (permalink)  
Antiguo 02/09/2009, 08:52
 
Fecha de Ingreso: septiembre-2009
Mensajes: 3
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Cargar de php a un datagrid en Flex

Ok, entendido y gracias por las recomendaciones, pero la vdd sigue sin funcionarme el codigo... no se cual sea el problema, pero no me pone lo que se requiere dentro del combobox, aparece vacio y lo malo es que en el php si funciona... si lo pongo, si me lo muestra como xml...

No se si me podrias ayudar a ver porque no funciona por favor
  #15 (permalink)  
Antiguo 02/09/2009, 09:42
 
Fecha de Ingreso: septiembre-2009
Mensajes: 3
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Cargar de php a un datagrid en Flex

Ya logre hacerlo funcionar, al HTTPService le agregue el handlefault y handleXML y con eso ya me mostro los clientes dentro del combobox

Gracias por las recomendaciones, ayudaron bastante! solo hacia flata agregar el handle =P
  #16 (permalink)  
Antiguo 24/02/2010, 22:24
Avatar de jorgevargas  
Fecha de Ingreso: febrero-2010
Ubicación: Rancagua Sexta Región - Chile
Mensajes: 4
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Cargar de php a un datagrid en Flex

Hola. he tratado de hacer con flex conectarme a una base de datos k tengo en servidor local. utilizo la aplicacioin que trae flex para realizar esta operacion y luego crea todo automaticamente. a algunas personas les ha funcioado pero a mi al hacer run me sale este error:
Error # 1088: el marcado del documento que sigue al elemento raíz debe estar bien formado

no tengo idea cual es el conflicto. he realizado tres videotutoriales de flex con mysql e igual me aparece este error. por favor si alguien lo ha solucionado agradeceria que me indicara como. uso wampserver.
Gracias
  #17 (permalink)  
Antiguo 24/02/2010, 22:38
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: Cargar de php a un datagrid en Flex

por que no abres un nuevo hilo y vas explicando paso a paso lo que vas haciendo, por que sin ver tu codigo es dificil, si no imposible ayudarte

Última edición por Sergestux; 08/03/2010 a las 15:42
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 3 personas




La zona horaria es GMT -6. Ahora son las 15:03.