Foros del Web » Programando para Internet » Javascript »

Sustituir imagen por otra con mouseover (desde Base de Datos)

Estas en el tema de Sustituir imagen por otra con mouseover (desde Base de Datos) en el foro de Javascript en Foros del Web. Hola. Tengo un problema y me estoy volviendo loco. No se ni si estoy escribiendo en el sitio correcto. Explico: - Tengo una galería de ...
  #1 (permalink)  
Antiguo 16/09/2012, 06:22
 
Fecha de Ingreso: febrero-2011
Mensajes: 83
Antigüedad: 13 años, 8 meses
Puntos: 0
Sustituir imagen por otra con mouseover (desde Base de Datos)

Hola. Tengo un problema y me estoy volviendo loco. No se ni si estoy escribiendo en el sitio correcto.

Explico:

- Tengo una galería de fotos las cuales están en el servidor web y las coloco mediante PHP-SQL consultando a la base de datos.

- El problema viene cuando quiero hacer un mouseover y que esta imagen sea sustituida por otra que también está en el servidor. La ruta de esta imagen esta en una tabla de la BD llamada clientes; la cual tiene (id_cliente, nombre_cliente, ruta_logo) donde ruta logo es la ruta de la imgen en el servidor.

Entonces lo que yo quiero hacer es que cuando pase por encima de la primera imagen, la cual tendrá el id_cliente, vaya a buscar la imagen del logo de la cual pertenezca.

Por ejemplo la imagen 1 tendrá por cliente Apple, la 2 HTC... pues al pasar por encima de cada una que me salga el logo del cliente.

No se si lo puedo hacer solo con JAVASCRIPT o también tendré que meter AJAX. Pasando alguna variable por onmouseover o algo así!

Pido disculpas por mi falta de conocimientos en JAVASCRIPT y en AJAX.

Si alguien me pudiera echar un cable se lo agradecería muchísimo!

Un saludo
  #2 (permalink)  
Antiguo 16/09/2012, 06:49
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: Sustituir imagen por otra con mouseover (desde Base de Datos)

Porqué no traés las rutas de ambas imágenes de manera simultánea? Supongo que estarás paginando, de manera que el costo de hacerlo no será elevado...
  #3 (permalink)  
Antiguo 16/09/2012, 07:24
 
Fecha de Ingreso: febrero-2011
Mensajes: 83
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Sustituir imagen por otra con mouseover (desde Base de Datos)

Cita:
Iniciado por Panino5001 Ver Mensaje
Porqué no traés las rutas de ambas imágenes de manera simultánea? Supongo que estarás paginando, de manera que el costo de hacerlo no será elevado...
En eso he caído después de hacer la pregunta. He pensado que una vez haga la consulta, también me pase la ruta a través de SQL.

Os digo algo si lo consigo!

Gracias!
  #4 (permalink)  
Antiguo 17/09/2012, 13:01
 
Fecha de Ingreso: febrero-2011
Mensajes: 83
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Sustituir imagen por otra con mouseover (desde Base de Datos)

Buenas.

Sigo sin conseguir que me cambie una imagen por otra. Y ya me estoy volviendo loco. A ver si alguien puede decirme porque esto no funciona.

Tengo estas tres funciones en Javascript:

Código Javascript:
Ver original
  1. function MM_swapImgRestore() { //v3.0
  2.   var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
  3. }
  4.  
  5. function MM_swapImage() { //v3.0
  6.   var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  7.    if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
  8. }
  9. function MM_openBrWindow(theURL,winName,features) { //v2.0
  10.   window.open(theURL,winName,features);
  11. }

Para que efectué efectos sobre unas imágenes que cojo del servidor mediante php.

Con este codigo:

Código PHP:
Ver original
  1. include ("functions.php");
  2.         connexio();
  3.         $consulta="SELECT * FROM proyectos ORDER BY id_proyecto DESC";
  4.         $resultat=mysql_query($consulta);
  5.        
  6.         while ($fila=mysql_fetch_assoc($resultat)) {
  7.                     $logo=mostrarLogo($fila["cliente"]);
  8.                     $imagen_mini=$fila[imagen_mini];
  9.                                        
  10.                     echo "<a href=\"videos.php?id_proyecto=".$fila["id_proyecto"]." \"><img class=\"mini\" src=\"images/".$fila["imagen_mini"]." \" name=\"".$fila["imagen_mini"]."\" alt=\" ".$fila["nombre_proyecto"]."\" title=\" ".$fila["nombre_proyecto"]."\" onMouseOver=\"MM_swapImage('".$imagen_mini."','','images/logos/'".$logo."',1)\" onMouseOut=\"MM_swapImgRestore()\" /></a>";
  11.                    
  12.                                                                                                                                                                                                                                                                                                                            
  13.                 }

Genero las imágenes e intento cambiar unas por otras en el mouseover, pero no hay manera. Entonces no se si es porque no lo estoy haciendo bien. O por que no se puede. O porqué me falta algo....

Mis conocimientos en JavaScript son pésimos así que no se ni por donde seguir.

Agradecería una respuesta.

Gracias
  #5 (permalink)  
Antiguo 18/09/2012, 12:36
 
Fecha de Ingreso: febrero-2011
Mensajes: 83
Antigüedad: 13 años, 8 meses
Puntos: 0
Rollover con imagenes (con Base de Datos)

Hola. A ver si aquí me podéis ayudar. Tengo un problema con rollover.

Hacer un rollover senzillito con dos imágenes es cosa fácil.

Mi problema llega cuando estás imagenes las pongo mediante url's que tengo guardadas en la bd.

El tema es que creo una galería con php con un while. Hago la consulta para que me coja todas las fotos y después hago un while para que me las vaya poniendo. Pues bien. Aquí ya empiezo a tener problemas. Y aún no he tenido que meter PHP. Ya no me cambia las fotos. ¿Alguien tiene una idea de porque?

aquí el código:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.            
  3.                    
  4.                     function cambiar(){
  5.                         document.images["imagen"].src = "images/einstein-2.jpg";
  6.                     }
  7.            
  8.                     function restaurar(){
  9.                         document.images["imagen"].src = "images/BMX+Bandits+bmx.jpg";
  10.                     }
  11.        
  12.                 </script>

Código PHP:
Ver original
  1. $consulta="SELECT * FROM proyectos ORDER BY id_proyecto DESC";
  2.         $resultat=mysql_query($consulta);
  3.        
  4.         while ($fila=mysql_fetch_assoc($resultat)) {
  5.                     $logo=mostrarLogo($fila["cliente"]);
  6.                     $imagen_mini=$fila[imagen_mini];
  7.                                        
  8.                     echo "<img class=\"mini\" src=\"images/".$imagen_mini." \"  name=\" imagen \" onMouseOver=\"cambiar();\" onMouseOut=\"restaurar();\" />";
  #6 (permalink)  
Antiguo 18/09/2012, 12:51
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: Sustituir imagen por otra con mouseover (desde Base de Datos)

Por favor no crees nuevos mensajes si se trata del mismo tema.
A ver si esto te da una idea:
Código PHP:
<?php
$qry
=mysql_query("select img1,img2 from loquesea order by id");
while(
$row=mysql_fetch_assoc($qry)){
?>
<!--precargamos la imagen de sistitución para evitar efectos raros durante el rollover:-->
<div style="width:0; height:0;overflow:hidden"><img src="<?php echo $row['img2']?>" /></div>
<!--mostramos la imagen con su efecto de rollover:-->
<img src="<?php echo $row['img1']?>" onmouseover="this.src='<?php echo $row['img2']?>';" onmouseout="this.src='<?php echo $row['img1']?>';" />
<?php ?>
  #7 (permalink)  
Antiguo 18/09/2012, 13:42
 
Fecha de Ingreso: febrero-2011
Mensajes: 83
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Sustituir imagen por otra con mouseover (desde Base de Datos)

Cita:
Iniciado por Panino5001 Ver Mensaje
Por favor no crees nuevos mensajes si se trata del mismo tema.
A ver si esto te da una idea:
Código PHP:
<?php
$qry
=mysql_query("select img1,img2 from loquesea order by id");
while(
$row=mysql_fetch_assoc($qry)){
?>
<!--precargamos la imagen de sistitución para evitar efectos raros durante el rollover:-->
<div style="width:0; height:0;overflow:hidden"><img src="<?php echo $row['img2']?>" /></div>
<!--mostramos la imagen con su efecto de rollover:-->
<img src="<?php echo $row['img1']?>" onmouseover="this.src='<?php echo $row['img2']?>';" onmouseout="this.src='<?php echo $row['img1']?>';" />
<?php ?>
He escrito un nuevo tema porque pensaba que el otro estaba en PHP y no JavaScript.

De todos modos gracias. Le pegaré un vistazo a este código mañana.

Un saludo

Etiquetas: ajax, imagenes, mouseover, php, rollover, select, sustituir
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 12:12.