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

Pasar datos de PHP a Flash

Estas en el tema de Pasar datos de PHP a Flash en el foro de Flash y Actionscript en Foros del Web. Hola, Tengo una consulta a una base de datos desde un PHP y quiero devolver los datos de la consulta al programa Flash: El código ...
  #1 (permalink)  
Antiguo 17/06/2008, 06:42
 
Fecha de Ingreso: febrero-2008
Mensajes: 36
Antigüedad: 16 años, 9 meses
Puntos: 0
Pasar datos de PHP a Flash

Hola,

Tengo una consulta a una base de datos desde un PHP y quiero devolver los datos de la consulta al programa Flash:

El código PHP es el siguiente:

Código PHP:
<?php

if ($action == 'listar_alumnos')
{   
$cant 0;
   
$result mysql_query("SELECT usuario,nombre,apellidos FROM alumnos WHERE profesor='".$prof."'");
   if (!
$result) {
      die(
'Could not query:' mysql_error());
   }
   else
   {
      while(
$row=mysql_fetch_array($result)){
         
?> &usuario<? echo $cant ?> &=<?  echo $row[usuario]; ?> 
         &nombre<? echo $cant ?> &=<?  echo $row[nombre]; ?> 
         &apellidos<? echo $cant ?> &=<?  echo $row[apellidos]; 
                        
$cant++;
        }
      
?> &cant=<? echo $cant?>&<?
   
}
   
mysql_close($conn);
}
?>


para comprobar si recibo los datos en Flash (usando LoadVars):
Código:
   envio.onLoad = function(success) {   
            if(succes){
                for(var i=0; i<this.cant; i++){
            
¿Se supone que en   this["usuario"+i];   this["nombre"+i];   this["apellidos"+i); están los datos? 
Porque a mi no me devuelve nada...
                }
            } 
         else trace("Error loading data")
        }

Sabéis si la manera en la que envío los datos con los ECHO en el PHP está bien?

Muchas gracias,

Un saludo

Última edición por lunera_lunera; 17/06/2008 a las 06:49
  #2 (permalink)  
Antiguo 17/06/2008, 06:58
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 18 años, 1 mes
Puntos: 12
Respuesta: Pasar datos de PHP a Flash

La verdad es que no sé el fallo de tu código, te diré lo que yo hago y mi consejo usa XML, la consulta del sql la haces en php pero la salida de datos en xml que el flash interpreta mejor, aunque no te ayude demasíado al menos ofrezco una alternativa:

Código PHP:
<?php
include ("conn.php");
$link=Conectarse(); 
$result=mysql_query("SELECT * FROM adhe ORDER BY id DESC"); 
//Si encontramos algo
    
if ($row mysql_fetch_array($result)){
        echo 
"<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>";
        echo 
"<LINKLIST> \n";
//Mostramos los registros
        
do {
            
//echo "<archivo tipus=\"".."\" nombre=\"".$row["nom"]."\" /> \n";
            
echo "<links id=\"".$row["id"]."\"> \n";
        echo 
"<url>AQUí PONGO UNA URL ESTÁTICA PERO SI METES UN REGISTRO DINÁMICO AL GUSTO</url>";
       echo 
"  <linkname_text>".$row["nom"]."</linkname_text>";
        echo 
" <mas>".$row["tipus"]."</mas>";
            
            echo 
"</links>";

        } while (
$row mysql_fetch_array($result));
        
        echo 
"</LINKLIST>";
    
    }


?>

En lugar de llamar un xml llamas al php desde flash ya que éste lo interpreta como xml.

Un saludo
__________________
Chanante!
  #3 (permalink)  
Antiguo 17/06/2008, 15:16
 
Fecha de Ingreso: febrero-2008
Mensajes: 36
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Pasar datos de PHP a Flash

Gracias sirguy,

A ver entonces me sugieres que guarde como si fuera XML. Y luego en Flash... en THIS tendré todo el código XML,no? Y como lo leo? se supone que tengo que hacer por ejemplo:
lista = this.getElementsByTagName('LINKLIST'); ?

Voy a probar...

De todas maneras, alguien sabe si esto está bien:
Código:
      while($row=mysql_fetch_array($result)){
         ?> &usuario<? echo $cant ?> &=<?  echo $row[usuario]; ?> 
         &nombre<? echo $cant ?> &=<?  echo $row[nombre]; ?> 
         &apellidos<? echo $cant ?> &=<?  echo $row[apellidos]; 
                        $cant++;
        }
      ?> &cant=<? echo $cant; ?>&<?
Lo que quiero es mandar desde este PHP a Flash el resultado de la consulta:
$result = mysql_query("SELECT usuario,nombre,apellidos FROM alumnos WHERE profesor='".$prof."'");

Muchas gracias por la ayuda,

Saludos!
  #4 (permalink)  
Antiguo 17/06/2008, 15:31
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 11 meses
Puntos: 43
Respuesta: Pasar datos de PHP a Flash

Cita:
Iniciado por lunera_lunera Ver Mensaje
Gracias sirguy,

A ver entonces me sugieres que guarde como si fuera XML. Y luego en Flash... en THIS tendré todo el código XML,no? Y como lo leo? se supone que tengo que hacer por ejemplo:
lista = this.getElementsByTagName('LINKLIST'); ?

Voy a probar...

De todas maneras, alguien sabe si esto está bien:
Código:
      while($row=mysql_fetch_array($result)){
         ?> &usuario<? echo $cant ?> &=<?  echo $row[usuario]; ?> 
         &nombre<? echo $cant ?> &=<?  echo $row[nombre]; ?> 
         &apellidos<? echo $cant ?> &=<?  echo $row[apellidos]; 
                        $cant++;
        }
      ?> &cant=<? echo $cant; ?>&<?
Lo que quiero es mandar desde este PHP a Flash el resultado de la consulta:
$result = mysql_query("SELECT usuario,nombre,apellidos FROM alumnos WHERE profesor='".$prof."'");

Muchas gracias por la ayuda,

Saludos!
Hola lunera_lunera !

Utiliza la solución de SirGuy, así como lo estás plateando sería un caos a la hora de recibir los datos, mejor que flash reciba un xml y desde flash lo analizas.

Tienes que usar la clase XML de flash, te pego el ejemplo de la doc:

Código PHP:
// Create a new XML object.
var flooring:XML = new XML();

// Set the ignoreWhite property to true (default value is false).
flooring.ignoreWhite true;

// After loading is complete, trace the XML object.
flooring.onLoad = function(success) {
    if(
success) {
          
trace(this);
    }
};

// Load the XML into the flooring object.
flooring.load("archivo.php"); 
En la última línea tienes que poner la ruta del archivo php que genera el XML, en la función onLoad si te fijas hago un trace a this, es la referencia a tu objeto XML que se generó por medio de PHP, para analizar su contenido revisa este tutorial para que te vayas familiarizando con la api:

XML


Saludos !
__________________
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 18/06/2008, 16:41
 
Fecha de Ingreso: febrero-2008
Mensajes: 36
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Pasar datos de PHP a Flash

Muchas gracias sirguy y jahepi por vuestra ayuda, ya funciona.

Un saludo!
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




La zona horaria es GMT -6. Ahora son las 16:07.