Foros del Web » Programando para Internet » PHP »

Funcion menu();

Estas en el tema de Funcion menu(); en el foro de PHP en Foros del Web. Hola gente, nunca hice funciones asi que estoy probando, no logro que se vea esto.. Tengo el archivo config.php Código PHP: <?php  $cantidadm = 2 ...
  #1 (permalink)  
Antiguo 06/04/2011, 18:27
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 11 años, 11 meses
Puntos: 25
Funcion menu();

Hola gente, nunca hice funciones asi que estoy probando, no logro que se vea esto..
Tengo el archivo config.php
Código PHP:
<?php 
$cantidadm
=2;
$menu[1]="<a href='index.php' title='Home'>Home</a>";
$menu[2]="<a href='?comunidad' title='Home'>Comunidad</a>";

function 
menu(){
for(
$m=1;$m<=$cantidadm;$m++){
echo
"<li>$menu[$m]</li>";
}
}
?>
Y en otras paginas, quiero mostrar ese menu:
Código PHP:
Ver original
  1. <?php
  2. include("config.php");
  3. menu();
  4. ?>
¿Porque no se muestra el menu? No me tira ningun error. Gracias
  #2 (permalink)  
Antiguo 06/04/2011, 18:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 10 meses
Puntos: 2534
Respuesta: Funcion menu();

mete las variables dentro de la función...

y de paso lee esto:
http://www.php.net/manual/en/languag...bles.scope.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/04/2011, 22:17
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 11 años, 9 meses
Puntos: 12
Respuesta: Funcion menu();

debes leer lo que dice alvaro si no mal he leido jeje. Si no llegas a entender es cosa que lo dejes asi.

Código PHP:
Ver original
  1. <?php
  2. $cantidadm=2;
  3. $menu[1]="<a href='index.php' title='Home'>Home</a>";
  4. $menu[2]="<a href='?comunidad' title='Home'>Comunidad</a>";
  5.  
  6. function menu(){
  7. global $cantidadm;
  8. for($m=1;$m<=$cantidadm;$m++){
  9. echo"<li>$menu[$m]</li>";
  10. }
  11. }
  12. ?>
__________________
Hosting en Chile en Silverhost - La solución en Hosting en Chile.
  #4 (permalink)  
Antiguo 08/04/2011, 17:17
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 11 años, 11 meses
Puntos: 25
Respuesta: Funcion menu();

Hola, xalupeao de la forma que tu dices no funciona. Pero igual el problema ya lo habia solucionado, quedando asi:
Código PHP:
Ver original
  1. <?php
  2. function menu(){
  3. $cantidadm=2;
  4. $menu[1]="<a href='index.php' title='Home'>Home</a>";
  5. $menu[2]="<a href='?comunidad' title='Comunidad'>Comunidad</a>";
  6.  
  7. for($m=1;$m<=$cantidadm;$m++){
  8. echo"<li>$menu[$m]</li>";
  9. }
  10.  
  11. }
  12. ?>

La verdad que estoy optimizando esta funcion, ¿que otra cosa me dicen hacer?.

Lo que hice es que no se tenga que poner manualmente la cantidad de menus, si no con:
Código PHP:
Ver original
  1. $cantidadm=count($menu);

Y anda perfecto, pero queria saber, ¿como se podria seguir optimizando esta funcion?

Gracias
  #5 (permalink)  
Antiguo 08/04/2011, 17:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 10 meses
Puntos: 2534
Respuesta: Funcion menu();

pues si al fin y al cabo los menús son HTML estático, no veo la necesidad de meterlo en una función, usar código PHP para eso es como bañar al perro con manguera y sin jabón... ¡vaya desperdicio!

así entonces lo mejor sería usar HTML como va...
Código HTML:
<ul>
  <li><a href="index.php" title="Home">Home</a></li>
  <li><a href="?comunidad" title="Home">Comunidad</a></li>
</ul> 
y desde PHP si podemos hacer un simple include...
Código PHP:
include 'menu.html'
o bien, ¿que ventajas tiene para ti usar PHP para algo así de simple?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 08/04/2011, 17:26
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 11 años, 11 meses
Puntos: 25
Respuesta: Funcion menu();

jaja no se, es que queria probar. Pretendia hacer algo mas practico, mas facil, pero por ahora no va muy bien:P

Gracias
  #7 (permalink)  
Antiguo 08/04/2011, 19:11
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.654
Antigüedad: 14 años, 7 meses
Puntos: 88
Respuesta: Funcion menu();

igual y así sería algo funcional
Código PHP:
Ver original
  1. function menu(){
  2.     $menu=array('index.php'=>'Home','?comunidad'=>'Comunidad');
  3.     echo '<ul>';
  4.     foreach($menu as $href =>$title){
  5.         echo'<li><a href="'.$href.'" title="'.$title.'">'.$title.'</a></li>';
  6.     }
  7.     echo 'ul';
  8. }
  9. menu();
eso creo ^_^"
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.

Última edición por eits; 08/04/2011 a las 19:17
  #8 (permalink)  
Antiguo 08/04/2011, 21:32
 
Fecha de Ingreso: diciembre-2009
Ubicación: dirname(__FILE__)
Mensajes: 149
Antigüedad: 10 años, 2 meses
Puntos: 11
Respuesta: Funcion menu();

O quizás:

En cada página:
Código PHP:
Ver original
  1. include 'funciones.php';
  2. echo menu(array(
  3.    'Inicio'=>'index.php',
  4.    'Nosotros'=>'includes/quienes-somos.php',
  5.    'Contacto'=>'includes/contcto.php'
  6. ));


funciones.php:
Código PHP:
Ver original
  1. function menu($datos){
  2. $html = '<ul>';
  3. foreach($datos as $nombre=>$url) {
  4. $html .= "<li><a href='$url'>$nombre</a></li>";
  5. }
  6. return $html . '</ul>';
  7. }

Y más inteligente:
definiciones.php:
Código PHP:
Ver original
  1. $paginas = array(
  2.    'Inicio'=>'index.php',
  3.    'Nosotros'=>'includes/quienes-somos.php',
  4.    'Contacto'=>'includes/contcto.php'
  5. );
  6.  
  7. $idiomas = array(
  8.    'Español'=>'?idioma=es',
  9.    'Português'=>'?idioma=pt',
  10.    'Italiano'=>'?idioma=it'
  11. );

Luego simplemente se hace el llamado en cada página:
Código PHP:
Ver original
  1. <?php
  2. include 'definiciones.php';
  3. include 'funciones.php';
  4. ?>
  5. <html>
  6. <head></head>
  7. <body>
  8. <?php echo menu($idiomas) ?>
  9. <h1>Inicio</h1>
  10. <?php echo menu($paginas) ?>
  11. <p>lala</p>
  12. </body>
  13. </html>

En cuanto domines las funciones trata de estudiar programación orientada a objetos (clases y esas cosas), el nirvana

Saludos
__________________
Estreno blog ~ DesarrolladorWeb.cl :)

Etiquetas: funcion
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 14:48.