Foros del Web » Programando para Internet » PHP »

Cambiar imagen en un div

Estas en el tema de Cambiar imagen en un div en el foro de PHP en Foros del Web. Hola a todos. Saludos. Tengo el siguiente código: Código HTML: <html> <head> <title> Sistema de Noticias </title> <script> function cambiar(){ document.getElementById('divXCambiar').innerHTML = "ADIOS"; } </script> ...
  #1 (permalink)  
Antiguo 26/09/2008, 14:04
 
Fecha de Ingreso: agosto-2005
Mensajes: 152
Antigüedad: 18 años, 8 meses
Puntos: 0
Cambiar imagen en un div

Hola a todos.
Saludos.
Tengo el siguiente código:
Código HTML:
<html>
<head>
    <title>Sistema de Noticias</title>
    <script>
    function cambiar(){
    	document.getElementById('divXCambiar').innerHTML = "ADIOS";
    }
    </script>
</head>
<body>
<?php include('db-cnx.php'); ?>

<?php
$idurl = $_GET['id'];// Obtienes la id de la categoria seleccionada la cual enviaste por url

if (!empty($id)){// si existe un valor en la variable idurl hace lo siguiente

//las constantes de este case las cambias segun los id's de tus categorias
switch($idurl){
case $idurl = 1:
echo "<div id = \"divXCambiar\" style='float: none; width: auto; height: 150px; background: url(./images/banner-deporte.gif) no-repeat; clear: both;'></div>";
break;

case $idurl = 2:
echo "<div id = \"divXCambiar\" style=\"float: none; width: auto; height: 150px; background: url(./images/culturales1.gif) no-repeat; clear: both;\"></div>";
break;

case $idurl = 3:
echo "<div id = 'divXCambiar' style='float: none; width: auto; height: 150px; background: url(./images/banners_economia.jpg) no-repeat; clear: both;'></div>";
break;

case $idurl = 10:
echo "<div id = 'divXCambiar' style='float: none; width: auto; height: 150px; background: url(./images/internacionales.jpg) no-repeat; clear: both;'></div>";
break;

default: // esta opcion se activa si pasa un numero que no este en el rango de las categorias
echo "<div id = \"divXCambiar\" style=\"float: none; width: auto; height: 150px; background: url(./images/new_image0.gif) no-repeat; clear: both;\"></div>";
break;
}
}else{ // si NO existe un valor en la variable idurl hace lo siguiente
echo "<div id = \"divXCambiar\" style=\"float: none; width: auto; height: 150px; background: url(./images/new_image.gif) no-repeat; clear: both;\"></div>";
}
?>
<h1>Sistema de Noticias</h1>
<div style="float:left; width: 25%;">
    <?php include('list-categoria.php'); ?>
</div>
<div style="float:right; width: 75%;">
    <?php include('list-noticia.php'); ?>
</div>
</body>
</html> 
Con este código persigo que el contenido que tiene el div con el id divXCambiar cambie en dependencia de la opción del menu seleccionado. El fichero que tiene el menu es el list-categoria.php donde aparecen varias opciones.
Esto funciona pero solamente cuando cargo la página por primera vez, que en el div al cual le hice alusión aparece una imagen, luego cuando le doy a la opción deportivas me cambia y pone la imagen que he establecido para esta opción, pero para el resto de las opciones del menu no funciona, mantiene la misma imagen de la categoría deportiva. No se a que se debe esto.
Espero mehayan entendido.
Muchas Gracias.
  #2 (permalink)  
Antiguo 26/09/2008, 16:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Cambiar imagen en un div

primero, el switch no es así... segundo, para que cambiar TODO el <div/>... si solo cambia la imagen???

Código PHP:
switch ($var)
{
  case 
'1': case 1: case 'one'
  
break;

por cierto, una comparación es con dos iguales (==) si es con uno es asignación, por lo cual siempre te da 1 (true)

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 26/09/2008, 19:49
Avatar de vidalsoft  
Fecha de Ingreso: julio-2008
Ubicación: /www/...
Mensajes: 339
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Cambiar imagen en un div

HOla prueba asi:
Código PHP:

<?php
$idurl 
$_GET['id'];// Obtienes la id de la categoria seleccionada la cual enviaste por url

if (!empty($id)){// si existe un valor en la variable idurl hace lo siguiente

//las constantes de este case las cambias segun los id's de tus categorias
switch($idurl){
case 
1:
echo 
"<div id = \"divXCambiar\" style='float: none; width: auto; height: 150px; background: url(./images/banner-deporte.gif) no-repeat; clear: both;'></div>";
break;

case 
2:
echo 
"<div id = \"divXCambiar\" style=\"float: none; width: auto; height: 150px; background: url(./images/culturales1.gif) no-repeat; clear: both;\"></div>";
break;

case 
3:
echo 
"<div id = 'divXCambiar' style='float: none; width: auto; height: 150px; background: url(./images/banners_economia.jpg) no-repeat; clear: both;'></div>";
break;

case 
10:
echo 
"<div id = 'divXCambiar' style='float: none; width: auto; height: 150px; background: url(./images/internacionales.jpg) no-repeat; clear: both;'></div>";
break;

default: 
// esta opcion se activa si pasa un numero que no este en el rango de las categorias
echo "<div id = \"divXCambiar\" style=\"float: none; width: auto; height: 150px; background: url(./images/new_image0.gif) no-repeat; clear: both;\"></div>";
break;
}
}else{ 
// si NO existe un valor en la variable idurl hace lo siguiente
echo "<div id = \"divXCambiar\" style=\"float: none; width: auto; height: 150px; background: url(./images/new_image.gif) no-repeat; clear: both;\"></div>";
}
?>
Tu problema es que en el prIMer case gualas la variable de condicion $idurl=1 por eso imprime siempre la primera.
Saludos...
__________________
Anthony Vidal Contreras | @AnthonyVidalC | Skype: vidalsystem | [email protected]
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:55.