Foros del Web » Programando para Internet » Javascript »

Mostrar imagenes dinamicamente con AJAX

Estas en el tema de Mostrar imagenes dinamicamente con AJAX en el foro de Javascript en Foros del Web. Buenas , estoy haciendo una pequeña galeria de productos esta tiene categorias y subcategorias. Al seleccionar una subcategoria esta debe mostrar un listado de imagenes ...
  #1 (permalink)  
Antiguo 31/01/2012, 17:04
 
Fecha de Ingreso: octubre-2009
Mensajes: 9
Antigüedad: 14 años, 6 meses
Puntos: 0
Mostrar imagenes dinamicamente con AJAX

Buenas , estoy haciendo una pequeña galeria de productos esta tiene categorias y subcategorias. Al seleccionar una subcategoria esta debe mostrar un listado de imagenes de productos disponibles , es decir es imposible usar solamente javascript para precargar las imagenes porque habria que cargar todas las imagenes de todas las subcategorias de todas las categorias :P
tengo esto hasta el momento

Código:
             	var xmlhttp = create_ajax();
                xmlhttp.open("GET","php/getImage.php", true);
	        xmlhttp.send();
	        xmlhttp.onreadystatechange = function(){
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
    		        node.innerHTML = xmlhttp.responseText;
		      }
	        }
	      document.getElementById("Galerie").appendChild(node);
El problema es que nose que tengo q hacer en la funcion getImage.php para que "cree" la imagen y como tengo que trabajar esa respuesta del lado del javascript.
  #2 (permalink)  
Antiguo 01/02/2012, 00:49
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Mostrar imagenes dinamicamente con AJAX

Hola:

No creo que sea bueno cargar todas las imágenes del sistema, ya que desaprovecharías del todo la tecnología Ajax, pero tal vez puedas tener cargadas las imágenes que necesites cuando despliegues el primer listado.

Sobre la creación de las imágenes, supongo que deberás tener los ficheros hechos, tan solo tendrías que enlazarlos... una posibilidad es tener su url en la misma tabla que tienes el resto de datos, pero eso ya deberías saberlo...

Yo suelo tener un fichero por ejemplo "imagen.php", donde le paso el parámetro id para mostrarla:

<img src="imagen.php?id=1" />

... pero tu podrías asociar categorias y subs...

imagen.php?cate=item1&sub=subitem2...

Luego tu ficherito podría ser:

$sql = "select url from tabla_imagenes where cate={$_GET[cate]}&sub={$_GET[sub]}";

y obtenida esa url:

header["Content-type: image/jpeg"];
echo file_get_contents($url);

Supongo que si usas php estarás familiarizado con la sintaxis.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 01/02/2012, 08:22
 
Fecha de Ingreso: octubre-2009
Mensajes: 9
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Mostrar imagenes dinamicamente con AJAX

Gracias Caricatos por las respuesta , pero no creo que me sirva, tal vez no explique bien la situacion.
Al hacer clic en una subcategoria (habra 10 subcategorias como minimo) lo que necesito es mostrar es una imagen grande ,que es la primera de esa subcategoria, y abajo de eso una serie de thumbnails que van a hacer de botones hacia las otras imagenes que se mostraran arriba. Entonces unicamente con php no es posible (ya que deberia recargar toda la pagina) pero con AJAX si porq no son muchas imagenes en esa subcategoria (otra cosa es si quisiera cargar todas las imagenes de todas las subcategorias antes de hacer cualquier seleccion).
supongamos que use tu codigo para pasar a texto la imagen:

header["Content-type: image/jpeg"];
echo file_get_contents($url);

al recibir esa respuesta en el javascript como la transformo en una imagen?

Última edición por Andres1433; 01/02/2012 a las 09:36 Razón: No escribi todo lo que necesitaba explicar

Etiquetas: ajax
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 19:16.