Comunidad de diseño web y desarrollo en internet online

Enviar una consulta SQL de php a flash

Citar            
MensajeEscrito el 05 Sep 2005 01:46 am
Si alguien podria ayudarme en lo siguiente

Como puedo cargar el resultado de una consulta sql que hago en PHP a un archivo de flash osea que se envie todo el resultado de la consulta.

[/code]

Por melquisedecwt

30 de clabLevel



 

Machala, Ecuador

firefox
Citar            
MensajeEscrito el 05 Sep 2005 01:47 am
con LoadVars o Flash Remoting? :?

esas son las dos maneras, la más fácil es con LoadVars :P

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 05 Sep 2005 01:51 am
Si pero quiero hacerlo con LoadVar, lo que pasa es que solo puedo retornar a flash una sola variable pero en caso de hacer un SELECT y quiero enviar todos los datos de la tabla ahi es donde esta mi problema :(

Por melquisedecwt

30 de clabLevel



 

Machala, Ecuador

firefox
Citar            
MensajeEscrito el 05 Sep 2005 02:39 am
ok aqui te doy un ejemplo con un SELECT sencillo :P

codigo php:

Código :

<?php
    $conexion = mysql_connect("localhost","username","password");
    mysql_select_db("AMFPHP");
    $sql= "SELECT * FROM prueba";
    $result= mysql_query($sql,$conexion);
    $i=0; 
    $cadena="";
    while ($rows= mysql_fetch_array($result)){
          $cadena.="&id".$i."=".$rows["id"];
          $cadena.="&nombre".$i."=".$rows["nombre"];
          $cadena.="&comentarios".$i."=".$rows["comentarios"];
         $i++;                        
    }
    echo utf8_encode($cadena);
?>


Fijate dentro del while empezamos a construir los datos que le mandaremos a flash, fijate la secuencia que uso un de prefijo de la variable & + un identificador + un numero + un igual + el valor que tendra de la variable, por ejemplo para los primeros campos será:
&id0=50
&nombre0=Maikel
&comentarios0=explicando como se mandan variables de php a flash

y la ultima linea es para imprimir la cadena con codificación utf8 y el flash pueda reconocer los caracteres especiales como letras acentuadas, ñ, etc.

el código actionscript para este caso sería algo así:

Código :

var miLV:LoadVars = new LoadVars();
miLV.load("http://localhost/AMFPHP/ejemplo.php");

miLV.onLoad = function (success:Boolean){
   if (success){
      for (i=0;this["id"+i]!=undefined;i++){
         trace(this["id"+i]);
         trace(this["nombre"+i]);
         trace(this["comentarios"+i]);         
      }
   }
   else {
      trace("error al cargar script externo");
   }
}

El uso del this te lo recomiendo, te evitará mucho dolores de cabeza :lol:.

Fijate como trato las variables aqui, solo el identificador más el numero.

Fácil no? :? cualquier duda solo posteala :)

saludos ^^

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 05 Sep 2005 04:15 pm
Saludos Maikel

Utilice el codigo que me enviaste pero al querer mostrar los datos en la presentación flash me sale que no esta definido mira este codigo a ver si te das cuenta en que esta mal, lo quiero aplicar para mostrar las ultimas 4 noticias del sitio:

Código AS

Código :

var noticias:LoadVars = new LoadVars();
var num:Number;
var titulo = new Array();
var id = new Array();
var fecha = new Array();
var direc = new Array();
noticias.load("noticias.php");
noticias.onLoad = function(exito:Boolean){
  if (exito){
      for (i=0;this["idnot"+i]!=undefined;i++){
         id[i] = this["idnot"+i];
         titulo[i] = trace(this["titulo"+i]);
         fecha[i] = this["fecha"+i];
         direc[i] = this["dir"+i];
    num = i;
      }
   }
   else {
      trace("error al cargar script externo");
   }
}
//Aqui imprimo en un texto para probar pero me imprime undifined
txt_tit.text = titulo[1];


EL codigo de PHP si esta bien porque lo rebice y retorna todos los datos.

Si puedes me podrias ayudar indicando como hago que se muestren en el cuadro una por una con una transicion de fundido y aplicarle un vinculo.[/code]

Por melquisedecwt

30 de clabLevel



 

Machala, Ecuador

firefox
Citar            
MensajeEscrito el 05 Sep 2005 04:20 pm
aqui

Código :

titulo[i] = trace(this["titulo"+i]);


trace es una funcion para mostrar valores y otras cosillas en la ventanita de salida, la misma que te dice si tienes error de sintaxis y otras cosas, pon titulo[i] igual como hiciste con los otros dentro del for :wink:

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 10 Sep 2010 10:40 am
Hola.

Lei todo y me parecio muy bueno y super util pero tengo un problema

Si hago el print del texto dentro de la funcion Load:

var id = new Array();
var nombre = new Array();
var email = new Array();
var miLV:LoadVars = new LoadVars();
miLV.load(_global.getUsers);

miLV.onLoad = function (success:Boolean){
if (success)
{
for (i=0;this["id"+i]!=undefined;i++)
{
id.push(this["id"+i]);
nombre.push(this["nombre"+i]);
email.push(this["email"+i]);

}
// ACA IMPRIMO LO QUE QUIERO QUE SE VEA EN PANTALLA

inputId.text = id[1]
inputMail.text = email[1]
inputName.text = nombre[1]

}
else {
trace("error al cargar script externo");
}

}

Todo funciona perfecto, no obstante si lo hago como en el ejemplo:
var id = new Array();
var nombre = new Array();
var email = new Array();
var miLV:LoadVars = new LoadVars();
miLV.load(_global.getUsers);

miLV.onLoad = function (success:Boolean){
if (success)
{
for (i=0;this["id"+i]!=undefined;i++)
{
id.push(this["id"+i]);
nombre.push(this["nombre"+i]);
email.push(this["email"+i]);

}
// ACA IMPRIMO LO QUE QUIERO QUE SE VEA EN PANTALLA



}
else {
trace("error al cargar script externo");
}

}

inputId.text = id[1]
inputMail.text = email[1]
inputName.text = nombre[1]


Es decir quiero imprimir fuera de la funcion LOAD el texto en pantalla, entonces me tira undefined, o directamente nada. Me fijo los arrays y cuando los queres ver fuera del LOAD estan vacios. Como puedo hacer para que siempre me quede esa info? y pueda usarla fuera del LOad? no se si se entiende soy bastante nuevo en esto.

Gracias!

Ruben.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox

 

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