Foros del Web » Programando para Internet » PHP »

Cambiar imagen

Estas en el tema de Cambiar imagen en el foro de PHP en Foros del Web. Hola buenas estoy haciendo un mapa de localización y querria saber como puedo controlar que al darle a aumentar/reducir me cambie la imagen del mapa. ...
  #1 (permalink)  
Antiguo 18/04/2006, 09:13
Avatar de Expinete  
Fecha de Ingreso: abril-2006
Ubicación: Zaragoza
Mensajes: 236
Antigüedad: 18 años
Puntos: 3
Cambiar imagen

Hola buenas estoy haciendo un mapa de localización y querria saber como puedo controlar que al darle a aumentar/reducir me cambie la imagen del mapa.
Gracias por adelantado.
  #2 (permalink)  
Antiguo 18/04/2006, 09:36
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 18 años
Puntos: 2
Si querés que la imagen cambie sin que sea necesario recargar la pagina, vas a tener que utilizar javascript. Si no, deberías pasar un parametro a tu script que indique cual imagen hay que cargar. Seria algo asi:

Código PHP:
<?
$imagen 
$_GET['imagen'];
?>
<html>
...
<img src="<?=$imagen?>">
....
<a href="<?=$_SERVER['PHP_SELF']?>?imagen=mapa_aumentado.jpg">aumentar</a> 

<a href="<?=$_SERVER['PHP_SELF']?>?imagen=mapa_reducido.jpg">reducir</a> 
....
</html>
Saludos.
  #3 (permalink)  
Antiguo 18/04/2006, 10:02
Avatar de Expinete  
Fecha de Ingreso: abril-2006
Ubicación: Zaragoza
Mensajes: 236
Antigüedad: 18 años
Puntos: 3
¿Qué falla?

Veras habia pensado en hacerlo así pero creo me da un error y no me carga el mapa al inicio:
<?php
$contador=0;
$mapa[0]="imagenes/plano0.jpg";
$mapa[1]="imagenes/plano1.jpg";
$mapa[2]="imagenes/plano2.jpg";
$mapa[3]="imagenes/plano3.jpg";
$mapa[4]="imagenes/plano4.jpg";
?>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="477" height="23" valign="top"><a href="#"><span class="lupa" onClick=<?php
if ($contador<4){
$contador=$contador+1;
}else{
$contador=$contador;}
?> >Aumenta</span> </a>
| <a href="#">Reduce</a> </td>
</tr>
<tr>
<td height="261" valign="top"><img src=<?php $mapa[$contador]?> width="477" height="261" id="Image1"></td>
  #4 (permalink)  
Antiguo 18/04/2006, 10:28
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 18 años
Puntos: 2
Cita:
Iniciado por Expinete
<span class="lupa" onClick=<?php
if ($contador<4){
$contador=$contador+1;
}else{
$contador=$contador;}
?> >Aumenta</span>
Creo que tenés un error de conceptos. El código php se ejecuta del lado del servidor, y los eventos de los objetos ocurren en el cliente (es decir, en el navegador). Por lo tanto, no se puede ejecutar código php en respuesta a un evento (onClick por ejemplo). En cambio, si podés ejecutar código javascript en respuesta al evento onClick, por ejemplo, porque javascript se ejecuta en el cliente.
Lo que podrías hacer es algo por el estilo:

Código PHP:
<?php 
$contador 
$_GET['contador'];
$mapa[0]="imagenes/plano0.jpg";
$mapa[1]="imagenes/plano1.jpg";
$mapa[2]="imagenes/plano2.jpg";
$mapa[3]="imagenes/plano3.jpg";
$mapa[4]="imagenes/plano4.jpg";

<
html
... 
<
img src="<?=$mapa[$contador]?>"
.... 
<
a href="<? echo $_SERVER['PHP_SELF']."?contador=".$contador+1 ?>">aumentar</a>  

<
a href="<? echo $_SERVER['PHP_SELF']."?contador=".$contador-1 ?>">reducir</a>  
.... 
</
html>

?>
Tendrías que realizar algun tipo de control para que el contador no llegue a ser negativo ni pase de 4.
Saludos.
  #5 (permalink)  
Antiguo 18/04/2006, 10:44
Avatar de Expinete  
Fecha de Ingreso: abril-2006
Ubicación: Zaragoza
Mensajes: 236
Antigüedad: 18 años
Puntos: 3
Muchas gracias por la ayuda y el esfuerzo... de todas formas lo he probado y no me reconoce la variable contador, pero bueno lo sacare :P muchas gracias de verdad un saludo.
  #6 (permalink)  
Antiguo 18/04/2006, 10:49
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 18 años
Puntos: 2
Es que se me olvido verificar si existe el parámetro pasado por get. Podés hacerlo de esta forma (verificando y si no existe asignar a contador un 0) o, si es que tu página no es tu "index.php", llamarla siempre pasando el parametro:

Código PHP:
<?
if (!isset($_GET['contador'])) {
  
$contador 0;
  }
else {
  
$contador $_GET['contador'];
  }
$mapa[0]="imagenes/plano0.jpg"
$mapa[1]="imagenes/plano1.jpg";
....
?>
Saludos.
  #7 (permalink)  
Antiguo 18/04/2006, 10:58
Avatar de Expinete  
Fecha de Ingreso: abril-2006
Ubicación: Zaragoza
Mensajes: 236
Antigüedad: 18 años
Puntos: 3
Gracias pero no funciona aun asi muchas gracias y hasta otro día. ;)
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 16:48.