Comunidad de diseño web y desarrollo en internet online

SQL, PHP e imagenes (Campos BLOB)

Citar            
MensajeEscrito el 23 Sep 2004 12:09 pm
Bueno, estoy intentando perfeccionar un poco la galeria (pobre de mi :lol: ) intentendo que las ubicaciones de las imagenes no esten en una carpeta sino situadas dentro de una base de datos, como un campo de tipo BLOB (binario). Ya tengo hecho el tema de añadir y visualizar mediante php, y me gustaria incluirlo dentro la galeria (creo que sera intenresante, ya que las busquedas se hacen mucho mas rapidas)

El tema es, como le digo al Flash que me recoga una imagen que esta dentro de una base de datos, cuando los loadmovie y demas te piden una ruta? Puede ser esa ruta del tipo

www.diselauto.com/mostrar.php

Muchas gracias y espero que entre todos podamos sacar adelante este pequeño proyecto que creo resultara muy interesante

Gracias

Por ivaxtobac

32 de clabLevel



 

unknown
Citar            
MensajeEscrito el 24 Sep 2004 02:17 am
Claro que puede ser, no olvides añadirle a los headers del PHP el tipo "image/jpeg" y el tamaño de la imagen, eso si

Y un

mc.loadMovie("cosa.php?img=1");

funcionara muy bien :D

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown
Citar            
MensajeEscrito el 28 Sep 2004 10:56 pm
Ejem, perdonen mi ignorancia, pero porque hay desarrolladores que se empeñan a meter imagenes en bases de datos?

Por isuny000

129 de clabLevel

1 tutorial

Genero:Masculino  

Girona provincia

unknown
Citar            
MensajeEscrito el 29 Sep 2004 02:15 am
Supongo que es por seguridad y portabilidad, a mi tampoco me gusta; mucho menos cuando veo un dump de SQL con un pedazo de texto en base64 muy feo

Pero si, a muchos les gusta ... tambien por lo facil que se vuelve a veces despues de hecho (Es mas dificil aprender a manejar archivosx dinamicos que registros de DBs)

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown
Citar            
MensajeEscrito el 29 Sep 2004 03:57 pm
Bueno ante la pregunta dire que las imagenes que trabajare no passan ninguna de 50 Kb, y como maximo habra 30 imagenes por lo que me es mas comodo trabajar enteramente con BD.

En referencia al tema, lo tengo casi listo. Los archivos php me cargan la galeria que yo quiera, con todas sus fotos. Ya estoy pasandolo a los archivos .as de la galeriaOOP, pero me encuentro con el problema de que al hacer esto

Código :

var a: LoadVars = new LoadVars();      
var b: LoadVars = new LoadVars();
         a.sendAndload("http://www.diselauto.com/mostrar.php",b,"POST");
b.onLoad = function(exito) {
      if (exito) {
         trace(this.nimage);
      } else {
         trace("No funciona");
      }
}



Me dice que no puede cargar la clase LoadVars. Entonces en la definicion de variables he probado con

Código :

var a = new LoadVars();


y no me da error de clase pero no entra en los trace

Podeis ayudarme?

Por ivaxtobac

32 de clabLevel



 

unknown
Citar            
MensajeEscrito el 29 Sep 2004 04:05 pm
¿En que lugar colocas ese codigo?

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown
Citar            
MensajeEscrito el 29 Sep 2004 04:09 pm
En lugar de la carga del Xml o sea en cargaXML()

Por ivaxtobac

32 de clabLevel



 

unknown
Citar            
MensajeEscrito el 29 Sep 2004 04:42 pm
Hasta donde recuerdo del desarrollo de la galeria, en la clase Imagenes.as

En el constructor es donde se crea el XML y es ahi donde se le asigna al evento onLoad de XML la función "cargarXML" que deja de ser miembro de la clase para convertirse en evento del XML

Por ende, si vas a colocar un LoadVars, deberas hacerlo en el constructor y asignarle a su evento onLoad la función (Que no metodo) cargarXML

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown
Citar            
MensajeEscrito el 30 Sep 2004 10:45 am
Lo siento freddie, no entiendo la respuesta

Por ivaxtobac

32 de clabLevel



 

unknown
Citar            
MensajeEscrito el 30 Sep 2004 10:52 am
mmm, veamos, que quieres hacer exactamente cono ese LoadVars?

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown
Citar            
MensajeEscrito el 30 Sep 2004 11:03 am
Es sencillo, bueno creo. Quiero que me recoga de una consulta SQL (ejecutada mediante un php) el valor que debe tener _global.esto.nImagenes. Por eso lo de usar el loadvaras para que ejecute el php y me devuelva ese numero


Gracias

Por ivaxtobac

32 de clabLevel



 

unknown
Citar            
MensajeEscrito el 30 Sep 2004 12:00 pm
Copia y pega el pedazo de codigo de la galeria que modificaste, incluyendo codigo de la galeria

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown
Citar            
MensajeEscrito el 30 Sep 2004 12:17 pm

Código :

private function cargarXML(exito:Boolean) {
      var i : Number;
      var a = new LoadVars();      
      var b = new LoadVars();
      if (exito) {
         var nodo:XML = new XML();
         //Extraño, inconcluso pero necesario Cast
         nodo = XML(this);
         _global.imgRuta = nodo.firstChild.childNodes[2].firstChild.nodeValue;
         _global.esto.titulo = nodo.firstChild.childNodes[1].firstChild.nodeValue;
         a.id="2";
         a.sendAndload("http://www.diselauto.com/mostrar.php",b,"POST");
         b.onLoad = function(exito) {
            if (exito) {
               trace(this.nimage);
                        _global.esto.nImagenes=this.nimage;
            } else {
               trace("No funciona");
            }
            }

_global.esto.onCarga();
      } else {
         trace("Error al cargar XML");}


Esto esta situadoen Imagenes.as

El php devuelvo con echo "nimage=2"[/code]

Por ivaxtobac

32 de clabLevel



 

unknown
Citar            
MensajeEscrito el 30 Sep 2004 12:38 pm
Ignora la función cargarXML; haz el codigo del LoadVars en el constructor; el scope de la función "cargarXML" no es la clase sino el objeto XML, asi que no estas haciendo nada

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown
Citar            
MensajeEscrito el 30 Sep 2004 01:33 pm
Bien, perdona mi ignorancia pero cuando te refieres al constructor es el editor de as de la pelicula en flash?

Porque ahi lo pongo de esta manera

Código :

var a:LoadVars = new LoadVars();
var b:LoadVars = new LoadVars();
var galeria:Imagenes = new Imagenes("http://www.diselauto.com/images/"+matricula+"/imagenes.xml", clip);
galeria.onCarga = function() {
   clip.titulo_txt.text = this.titulo;
   a.id="2";
   a.sendAndload("http://www.diselauto.com/mostrar.php",b,"GET");
   b.onLoad = function(exito) {
      if (exito) {
         galeria.nImagenes = this.nimage;
         trace("hola");
         } else {
         trace("No funciona");
         }
   }
   clip.paginar();
   pagina++;
//   refreshBtn();
   pager_mc.pActual_txt.text = clip.pagina;
   pager_mc.pFinal_txt.text = galeria.nPaginas;
   galeria.cambiarPagina(pagina);
};


y tampoco entra en el trace

Gracias

Por ivaxtobac

32 de clabLevel



 

unknown
Citar            
MensajeEscrito el 30 Sep 2004 03:01 pm
al constructor de la clase Imagenes

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown
Citar            
MensajeEscrito el 30 Sep 2004 03:17 pm
Bien, ya voy viendo el tema

Ya hace bien la carga como entrar en los trace en el codigo

Código :

a.sendAndLoad("http://www.diselauto.com/mostrar.php?id=2",b,"GET");
      b.onLoad = function (exito) {
         if (exito) { trace(this.nimage) ; _global.esto.nImagenes = this.nimage; } else { trace("adios"); }
         }


Ahora el problema es que la variable nimage que proviene del php me la devuelve undefined, Que hago mal?

Os posteo el codigo php

Código :

<?
$conexion = mysql_connect("xxxx", "xxxxx", "xxxxx") or die ('cannot reach database');
mysql_select_db("xxxxxx") or die ("this is not a valid database");

  
$sql="SELECT * FROM fotosvo WHERE IDREGISTRO='".$_GET['id']."'"; 
$result2=mysql_query($sql);

echo "<table align=center border=0 cellpadding=0 width=400>";

$columnes = 2; // N&uacute;mero de columnas (variable)  
if (mysql_num_rows($result2)==0){echo "<tr><td colspan=$columnes>There are not images.</td></tr> ";}

for ($i=1; $row = mysql_fetch_array ($result2); $i++) {
}
echo "nimage=$i";
mysql_free_result($result2)

?> 


Veis algo mal?

Por ivaxtobac

32 de clabLevel



 

unknown
Citar            
MensajeEscrito el 30 Sep 2004 03:21 pm
Joer, menudo capu..... Ya lo vi es el echo de la tabla

Bien sigo trabajando en la galeria. Ya os seguire preguntando :lol: :lol: :lol:

Por ivaxtobac

32 de clabLevel



 

unknown
Citar            
MensajeEscrito el 30 Sep 2004 03:45 pm
Bien hecho esto me encuentro con el problema de que la resolucion del php (que me da el numero de imagenes) es muy lenta asi que cuando ha acabado de cargarlo todo me da el numero de imagenes cosa que hace que no me muestre ninguna

Estoy mirando el tema con setInterval pero no creo que sea la solucion

gracias

Por ivaxtobac

32 de clabLevel



 

unknown

 

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