Comunidad de diseño web y desarrollo en internet online

Mostrar imagen de base de datos

Citar            
MensajeEscrito el 16 May 2008 05:33 am
Hola a todos, tengo una gran duda, soy novato en esto y no se como hacerlo:

Tengo una consulta hecha en PHP a una base SQL en la que obtengo los resultados de esta forma:

&imgurl0=valor&imgurl1=valor

etc...

los valores son datos de la base, y tengo una columna que contiene el link a una web de alojamiento de imagenes que en php al mostrarlo me carga la imagen sin problema.
los campos de texto , los meto en un bucle for y los creo así sin problemas

Código :

obs_mc.createTextField(\"observaciones_\"+i,obs_mc.getNextHighestDepth(),250,30+i*100,750,100);
    obs_mc[\"observaciones_\" + i].text = this[\"observaciones\"+i];


Pero las imagenes no consigo mostrarlas.
Estoy usando LoadMovie.
Mi idea de la sintaxis es algo así:

LoadMovie (\"variable_\"+i, 1)

No carga nada.
¿me podeis ayudar?[/code]

Por pepo4

9 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 May 2008 09:39 am
Si quieres cargar en un nivel:

loadMovieNum(this["variable_"+i], 1)

o en un contenedor

holder.loadMovie(this["variable_"+i])

Si son muchas fotos, conviene usar contenedores dinámicamente creados con createEmptyMovirClip

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 May 2008 12:50 pm
Gracias por tu ayuda Jorge pero no me carga, me da un error al abrir la url "file c://...."

No se si antes me explique bien, la imagen es una URL a una web de alojamiento de imagenes (imageshack) y aqui un ejemplo:

Código :

http://img171.imageshack.us/img171/4622/lodresdesafiojm2.jpg


esto se guarda tal cual en la base y no soy capaz de hacerlo mostrar como imagen en Flash.

Por pepo4

9 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 May 2008 12:57 pm
Primera prueba. En una peli nueva, pones:

this.loadMovie("http://img171.imageshack.us/img171/4622/lodresdesafiojm2.jpg")

¿Carga? Bien, entonces es posible. Luego ¿Estás usando la ruta completa para cargar o solo el nombre de la imagen?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 May 2008 01:15 pm
Hice un loadmovie directamente como dices y me cargaba bien, pero cuando le pongo la variable no sale.

He hecho un trace y me sale undefined.

Por pepo4

9 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 May 2008 01:16 pm
Uso la ruta completa, este es el error.

Error al abrir la URL 'file:///C|/AppServ/www/ps2racing/modules/Hotlaps%5FChallenge/undefined'

Por pepo4

9 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 May 2008 01:25 pm
Evidentemente esa no es la ruta, asegúrate que la estás recibiendo correctamente desde la BD

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 May 2008 02:33 pm
He probado creando un campo de texto dinámico y si me devuelve los valores correctos.

Algo no debo estar poniendo bien en la sitaxis, o no es la correcta.

Por pepo4

9 de clabLevel



 

msie
Citar            
MensajeEscrito el 16 May 2008 03:04 pm
Pon la parte de tu code en que cargas

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 May 2008 05:41 pm

Código :

var mc:MovieClip = createEmptyMovieClip("juego_mc",1);
var mc:MovieClip = createEmptyMovieClip("coche_mc",2);
var mc:MovieClip = createEmptyMovieClip("cir_mc",3);
var mc:MovieClip = createEmptyMovieClip("con_mc",4);
var mc:MovieClip = createEmptyMovieClip("obs_mc",5);
var mc:MovieClip = createEmptyMovieClip("img_mc",6);

var archivoPHP:LoadVars = new LoadVars();
archivoPHP.load("http://localhost/ps2racing/modules/Hotlaps_Challenge/desafios2flash.php");
archivoPHP.onLoad = function (exito:Boolean){
   if (exito){
    for (var i:Number=0;this["juego"+i]!=undefined;i++){
   juego_mc.createTextField("juego_"+i,juego_mc.getNextHighestDepth(),75,10+i*100,200,20);
    juego_mc["juego_" + i].text = this ["juego"+i];
   coche_mc.createTextField("vehiculo_"+i,coche_mc.getNextHighestDepth(),75,30+i*100,400,20);
    coche_mc["vehiculo_" + i].text = this["vehiculo"+i];
   cir_mc.createTextField("circuito_"+i,cir_mc.getNextHighestDepth(),75,50+i*100,400,20);
    cir_mc["circuito_" + i].text = this["circuito"+i];
   con_mc.createTextField("conduccion_"+i,con_mc.getNextHighestDepth(),75,70+i*100,400,20);
    con_mc["conduccion_" + i].text = this["conduccion"+i];
   obs_mc.createTextField("observaciones_"+i,obs_mc.getNextHighestDepth(),250,30+i*100,750,100);
    obs_mc["observaciones_" + i].text = this["observaciones"+i];
   
   
   

   
   var mi_fmt:TextFormat = new TextFormat();
        mi_fmt.color = 0x000000;
        mi_fmt.font = "Arial";
        mi_fmt.size = 11;
    
   juego_mc["juego_" + i].setTextFormat(mi_fmt);
   coche_mc["vehiculo_" + i].setTextFormat(mi_fmt);
   cir_mc["circuito_" + i].setTextFormat(mi_fmt);
   con_mc["conduccion_" + i].setTextFormat(mi_fmt);
   trace(img_mc.loadMovie["juego_"+i]);
   img_mc.loadMovie(this["img_"+i]);
   }
   
   } else{
      trace("error al cargar el script php");
   }
}


Muchas gracias Jorge

Por pepo4

9 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 May 2008 06:08 pm
Estás cargando todas las imágenes en el mismo contenedoor, es decir una reemplaza a la otra, ¿es eso lo que buscas? Luego estás usando ruta absoluta, simplemente haz un trace(this["img_"+i]) y te tiene que cantar el valor

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 May 2008 07:00 pm
Si lo que quiero es tan sencillo que hasta me da verguenza.

Tengo una tabla de la base de datos que contiene columnas con texto y una de ellas es un campo que contiene una cadena que es un vinculo a una web de imagenes.
Quiero mostrar tantas filas como tenga la consulta y que el campo imagen me salga como tal, pero no una encima de otra sino cada una en una posición.

No tengo ni idea de como hacerlo, probé a ver que devolvía el trace(this["img_"+i]) y devuelve "undefined"

Por pepo4

9 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 May 2008 07:18 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 May 2008 07:35 pm
No lo tengo con guión bajo, lo tengo como img0, img1, etc...
Hice un trace(this["img"+i]) quitando el guión bajo y me devuelve la cadena perfecta del bucle for completo.
al igual que hice un LoadMovie("http://img171.imageshack.us/img171/4622/lodresdesafiojm2.jpg", 1) y me carga la imagen perfectamente tambien.

Por pepo4

9 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 May 2008 07:41 pm
Pues ya está, ahora no cargues todos en el mismo contenedor si quieres verlos al mismo tiempo, deberías crearlo con createEmptyMovieClip

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 May 2008 07:48 pm
No te lo vas a creer pero he conseguido cargar la imagen, ahora la última pregunta

¿como hago para que no se cargue una?

se carga aleatoriamente la que le da la gana, y no se como crearlas en diferentes movieclips dentro del bucle for.

Por pepo4

9 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 May 2008 07:54 pm
deberías crearlo con createEmptyMovieClip


Momento de darle a F1, ir al manual, MovieClip.createEmptyMovieClip y probar

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 May 2008 08:01 pm
OK, muchisimas gracias por tu ayuda Jorge.

Por pepo4

9 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 May 2008 10:19 am
Yo tengo un problrema parecido, pero no me queda claro como se recoje la imagen desde flash.
En el php se me ha ocurrido hacer el echo así:

Código :

<? 
$nombre = $_GET['nombre']; 
// Configurar las dos lineas siguientes 
@mysql_connect("localhost","root","root");
@mysql_select_db("netart"); 
$query = "SELECT imagen FROM imagenes WHERE nombre = '$nombre'"; 
$result = @MYSQL_QUERY($query); 
$imagen = @mysql_result($result,0); 
Header( "Content-type: image/jpeg"); 
echo "&imagen1=".$imagen; 
?> 


y el flash así:

Código :

datos_imagen=new LoadVars();
datos_imagen.flash="ok";
datos_imagen.sendAndLoad("http://localhost/net_art/imagen/ver.php",datos_imagen,"post");
datos_imagen.onLoad=function(exito){
   var miImagen;
this.imagen1=miImagen;
   loadMovie("miImagen", cargador);
}
}



Pero el archvo php me hace un echo asi

Código :

imagen1=

No me muestra nada y sin embargo si lo muestro como echo $imagen si que me muestra la imagen.

Dónde está el error, porque no he visto mucha información sobre este tema. Gracias

Por esnandricor

13 de clabLevel



 

msie7
Citar            
MensajeEscrito el 26 May 2008 10:26 am
Esto no va en el PHP

Header( "Content-type: image/jpeg");

Dentro del onLoad pon

loadMovie(this.imagen1, cargador);

Si la imagen no estuviera en la misma carpeta que el flash tienes que agregar la ruta. Si hubiera más de 1 imágen, tienes que hacer un loop para ir cargando todas

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 26 May 2008 10:58 am
Hola, ya he eliminado el header y le he puesto al flash lo que me dijiste y nada.
Con respecto a la ruta de la imagen, no tengo claro que se guarde en una carpeta, pensaba que estaba en la base de datos, en un campo longblob. Yo la verdad estoy empezando con php y es mi primer experimento con imágenes.

Las imágenes las subo así:

Código :

<? 
 
mysql_connect("localhost","root","root");
mysql_select_db("netart"); 
$imagen = addslashes(fread(fopen($imagen, "r"), filesize($imagen))); 
$nombre = $_POST["nombre"];
mysql_query("INSERT INTO imagenes (nombre,imagen) VALUES ('$nombre','$imagen')"); 
?>
Ver la imagen <a href="ver.php?nombre=<? echo $nombre ?>">aquí</a> 

Por esnandricor

13 de clabLevel



 

msie7
Citar            
MensajeEscrito el 26 May 2008 11:04 am
También he añadido al flash que le mande el nombre de la imagen que debe mostrar.

Código :

datos_imagen=new LoadVars();
datos_imagen.nombre=1;
datos_imagen.sendAndLoad("http://localhost/net_art/ver.php",datos_imagen,"get");
datos_imagen.onLoad=function(exito){
loadMovie(this.imagen1, cargador);
nombre.text=this.nombre;
trace(this.nombre)
}

Por esnandricor

13 de clabLevel



 

msie7
Citar            
MensajeEscrito el 26 May 2008 11:13 am
Si está como BLOB en la BD (mala decisión) entonces tiene sentido el código que habías puesto anteriormente, pero si quieres que Flash cargue eso directamente, tienes que hacer also similar:

loadMovie("ver.php", cargador);

EL LoadVars no hace falta

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 26 May 2008 11:38 am
Mil gracias. En este caso me hace falta el loadvars para mandarle al php la imagen de al que quiero hacer la consulta.
Al final me quedó así, para los interesados:

Código :

datos_imagen=new LoadVars();
datos_imagen.nombre=1;
datos_imagen.sendAndLoad("http://localhost/netart/ver.php",datos_imagen,"get");
datos_imagen.onLoad=function(exito){
loadMovie("http://localhost/imagen/ver.php?nombre=1", cargador);
nombre.text=this.nombreImagen;
trace(this.nombre)
}


Ahora es cuestión de cambiar 1 por variables y hacer bucles, pero creo que podré sola. Gracias

Por esnandricor

13 de clabLevel



 

msie7
Citar            
MensajeEscrito el 26 May 2008 11:49 am
En realidad le estás pasando el dato por GET. Cambia esta línea:

$nombre = $_POST["nombre"];

por esta

$nombre = $_GET["nombre"];

Y ya no te hace falta el loadvars, solo esto:

loadMovie("http://localhost/imagen/ver.php?nombre=1", cargador);

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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