Foros del Web » Programando para Internet » PHP »

else if

Estas en el tema de else if en el foro de PHP en Foros del Web. Hola, necesito mostrar un div en función de la variable que asigno en una página: por ejemplo: la pagina index.php tiene la variable Código PHP: ...
  #1 (permalink)  
Antiguo 21/03/2009, 12:02
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 10 meses
Puntos: 9
Sonrisa else if

Hola, necesito mostrar un div en función de la variable que asigno en una página:

por ejemplo: la pagina index.php tiene la variable
Código PHP:
$page=index
en esa misma página hago un include que contiene estos divs:

Código PHP:
<div id="menu"><ul><li <?php Menu('index2.php'?> ><a href="index2.php" title="Inicio" class="active">INICIO</a></li><li <?php Menu2('contacto/'); ?> ><a href="contacto.php" title="Contacto" class="active">CONTACTO</a></li></ul></div>

<div id="menu"><ul><li <?php Menu('index3.php'?> ><a href="index2.php" title="Inicio" class="active">INICIO</a></li><li <?php Menu2('publicaciones/'); ?> ><a href="publicaciones.php" title="Contacto" class="active">CONTACTO</a></li></ul></div>
como puedo utilizar el if else para mostrar el div que desee? he intentado hacerlo pero como el menú llama también a una función en php no sé cómo debo hacerlo.

Gracias

Última edición por charlyta; 24/03/2009 a las 12:24 Razón: solucionado
  #2 (permalink)  
Antiguo 21/03/2009, 12:47
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: else if

No es una buena metodología de trabajo (por la falta de legibilidad en el código pero fíjate que puedes hacer algo como esto:
Código php:
Ver original
  1. <?php
  2. switch ($page) {
  3.     case 1:
  4.         ?>html code <?php echo 'PHP Code'; ?> html code <?php break;
  5.     case 2:
  6.         ?>html code <?php echo 'PHP Code'; ?> html code <?php
  7. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Última edición por David; 21/03/2009 a las 13:09
  #3 (permalink)  
Antiguo 21/03/2009, 13:05
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: else if

Hola David. Gracias por todo ;) he probado con el código pero me muestra los dos divs...mmmm qué he hecho mal?

Código PHP:
<?php switch ($page) { 
  case 
"index":
   
?><div id="menu"><ul><li <?php Menu('index2.php'?> ><a href="index2.php" title="Inicio" class="active">INICIO</a></li><li <?php Menu2('contacto/'); ?> ><a href="contacto.php" title="Contacto" class="active">CONTACTO</a></li></ul></div><?php

case "contact":
        
?><div id="menu"><ul><li <?php Menu('index3.php'?> ><a href="index2.php" title="Inicio" class="active">INICIO</a></li><li <?php Menu2('publicaciones/'); ?> ><a href="publicaciones.php" title="Contacto" class="active">CONTACTO</a></li></ul></div><?php
        
}?>
  #4 (permalink)  
Antiguo 21/03/2009, 13:10
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: else if

Sucede porque no pusiste el break; al final de los case.

Edité el mensaje anterior para que veas un ejemplo del uso.

Véase también: http://www.php.net/switch
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 21/03/2009, 19:59
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: else if

Bueno David, ahora entiendo lo de David el grande :) me funciona de maravilla. Lo cierto es que se trata de un menú horizontal con otro submenú en función de la opción escogida. El menú activa el link principal y el del submenú, en función de la página que se encuentre y el directorio. Así hago un include y el menú y submenús funcionan para todas las páginas como una plantilla...no sé si me explico.. te paso el código cuando lo pula, si te interesa. Lo que no acabo de entender es cómo utilizas los <? ?> , por ejemplo:

Código PHP:
<?php switch ($page) { 
  case 
"index":
   
?><div id="menu"><ul><li <?php Menu('index2.php'?> ><a href="index2.php" title="Inicio" class="active">INICIO</a></li><li <?php Menu2('contacto/'); ?> ><a href="../contacto/contacto2.php" title="Contacto" class="active">CONTACTO</a></li></ul></div><?php break;
cómo es que cierras un php sin un argumento dentro? y por qué cierras otro php sin abrirlo? es como la última línea de código:

Código PHP:
case "contacto":
   ?><div id="menu"><ul><li <?php Menu('index2.php'?> ><a href="index2.php" title="Inicio" class="active">INICIO</a></li><li <?php Menu2('contacto.php'); ?> ><a href="../../contacto/contacto.php" title="Contacto" class="active">CONTACTO</a></li></ul></div><?php 
        
}?>

no entiendo porqué cierras un php con esa llave... sin nada abierto... perdona mi torpeza por la pregunta, pero me resulta demasiado abstracto..

Por lo demás.. te estoy muy agradecido. :) te debo una
  #6 (permalink)  
Antiguo 21/03/2009, 20:09
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: else if

Si miras atentamente, verás que tiene sentido (de hecho, hablaba desde el principio de la poca legibilidad del código ).
Código php:
Ver original
  1. <?php
  2. switch ($page) {
  3.     case 1:
  4.         ?>html code <?php echo 'PHP Code'; ?> html code <?php break;
  5.     case 2:
  6.         ?>html code <?php echo 'PHP Code'; ?> html code <?php
  7. }
En la línea 4 cerramos el bloque PHP que hemos inicado en la línea 1. Y la última llave cierra el bloque switch que hemos abierto en la línea 2.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 21/03/2009, 20:09
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Respuesta: else if

La llave es para cerrar el switch
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
  #8 (permalink)  
Antiguo 24/03/2009, 12:23
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 10 meses
Puntos: 9
De acuerdo Respuesta: else if

Genial! gracias!!
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 22:38.