Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Gogeto en 21 Julio 2011, 04:42 am



Título: Menu dinámico PHP
Publicado por: Gogeto en 21 Julio 2011, 04:42 am
Hola.
Estaba creando una web dinámica con php y me di cuenta de que necesitaba que el menú variase según en que módulo de la página nos encontrásemos, mostrando las subcategorías del módulo en el que nos encontramos, y no de otros. La variable $module es la que, en otras páginas, ha sido definida y tratada correctamente para contener solo los valores que nos interesan.

Como no se me ocurría ningún método mejor utilice un simple if para ejecutar o no ciertos echo; el código que utilice esta a continuacion.
Se os ocurre un método mejor de hacerlo o una forma de mejorar éste? Gracias.
<?php
if (!defined('nI')){
die('No se permite vizualizaci&oacute;n directa');
}
echo "<div class=\"leftmenu\">
<p>Inicio</p>
<p>Peliculas</p>";
if (($module=="peliculas") or ($module=="pelicula"))
echo " <div class=\"innerleftmenu\">
<p>Lista alfabetica</p>
<p>Mejores películas</p>
<p>Las películas más vistas</p>
<p>Ultimas peliculas estrenadas</p>
<p>Ultimas peliculas añadidas</p>
</div>
<div class=\"Clear-innerleftmenu\"></div>";
echo " <p>Series</p>";
if (($module=="series") or ($module=="serie"))
echo " <div class=\"innerleftmenu\">
<p>Lista alfabetica</p>
<p>Mejores series</p>
<p>Las series más vistas</p>
<p>Ultimas series estrenadas</p>
<p>Ultimas series añadidas</p>
</div>
<div class=\"Clear-innerleftmenu\"></div>";
echo " <p>Documentales</p>";
if (($module=="documentales") or ($module=="documental"))
echo " <div class=\"innerleftmenu\">
<p>Lista alfabetica</p>
<p>Mejores documentales</p>
<p>Los documentales más vistos</p>
<p>Ultimos documentales estrenados</p>
<p>Ultimos documentales añadidos</p>
</div>
<div class=\"Clear-innerleftmenu\"></div>";
echo " <p>Juegos</p>";
if (($module=="juegoss") or ($module=="juego"))
echo " <div class=\"innerleftmenu\">
<p>Lista alfabetica</p>
<p>Mejores juegos</p>
<p>Los juegos más jugados</p>
<p>Ultimos juegos estrenados</p>
<p>Ultimos juegos añadidos</p>
</div>
<div class=\"Clear-innerleftmenu\"></div>";
echo " <p>Musica</p>";
if (($module=="musica") or ($module=="artista"))
echo " <div class=\"innerleftmenu\">
<p>Lista alfabetica</p>
<p>Mejores músicos</p>
<p>Los albums más escuchados</p>
<p>Ultimos albums estrenados</p>
<p>Ultimos albums añadidos</p>
</div>
<div class=\"Clear-innerleftmenu\"></div>";
echo " <p>Programas</p>";
if (($module=="programas") or ($module=="programa"))
echo " <div class=\"innerleftmenu\">
<p>Lista alfabetica</p>
<p>Mejores programas</p>
<p>Los programas más utilizados</p>
<p>Ultimos programas estrenados</p>
<p>Ultimos programas añadidos</p>
</div>
<div class=\"Clear-innerleftmenu\"></div>";
echo "</div>
<div class=\"Clear-leftmenu\"></div>";
?>


Título: Re: Menu dinámico PHP
Publicado por: cpichi.cu en 21 Julio 2011, 21:09 pm
No sé si es lo que quieres, pero creo que la mejor solución sería con

switch case

para que no tengas que comprobar siempre todas las opciones

saludos


Título: Re: Menu dinámico PHP
Publicado por: Gogeto en 23 Julio 2011, 07:00 am
El problema es que hay líneas de código entre medio que deben ser ejecutadas si o si, y son distintas