Autor Tema: Ayuda con Menus con php mysql  (Leído 10696 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado Lucho

  • Sv Member
  • ***
  • Mensajes: 145
Ayuda con Menus con php mysql
« : junio 15, 2006, 01:27:33 pm »

Hola amigos:

mi pregunta es como puedo realizar un menu dinamico, con Php y Mysql. El menu contara con opciones principales, y por cada opcion principal tendra sub opciones. Toda esta informacion del menu con sus subopciones lo tengo guardado en una tabla.

La idea es que lea la tabla y muestre las opciones principales y cuando el puntero del mouse este encima de cada opcion se muestre los sub menus.

Les agradeceria si me ayudan  es para  mi trabajo de tesis.

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Ayuda con Menus con php mysql
« Respuesta #1 : junio 15, 2006, 02:00:04 pm »
Ya tenes el codigo del menu dinamico a crearse ??? o estas buscando todavia el codigo para que el menu se cree.

No me refiero a el codigo involucrado en php sino el codigo involucrado para hacer el menu dinamico.

[Agregado]
Si tenes el formato de las tablas te agradeceria me lo pasaras en sql y asi puedo ayudarte mas directamente.

[Agregado2]
Mira una pregunta porque has analizado como mejor alternativa el usar una base de datos para la creacion del menu ??? , no te parece mejor crear una funcion en php que podas mandar a llamar desde las otras paginas y crear el menu en cada una de ellas.

« Última Modificación: junio 15, 2006, 02:18:50 pm por rdoggsv »

Desconectado mask

  • Sv Member
  • ***
  • Mensajes: 339
Re: Ayuda con Menus con php mysql
« Respuesta #2 : junio 15, 2006, 05:59:40 pm »
pues mira no se para que queres manejar un menu con una tabla si lo podes hacer en fireworks, eso si tenes que hacer un menu para cada usuario que tengas o mejor dicho para cada nivel de seguridad, yo tengo un sistemita que he hecho en php con mysql y he utilizado eso que te digo, y el sistema se ve bien ( jajaja quien va hablar de su casa aunque se este cayendo), pero te seria mas facil y te quedaria mucho mas bonito. si te sirve y si no sabes como hacerlo yo te puedo ayudar no hay problem.  :thumbsup:

Desconectado theoden

  • Sv Member
  • ***
  • Mensajes: 383
Re: Ayuda con Menus con php mysql
« Respuesta #3 : junio 15, 2006, 08:04:17 pm »
hey lok porq no has como dice mask construis un menu para cada tipo de usuario y tambien construis una pagina para cada tipo de usuario.. de esta forma podes construir tu menu en fireworks.. y lo unico que tenes que hacer es cuando el usuario haga login dependiendo del tipo de usuario que sea lo direccionas para la pagina que corresponde..

yo te entieno que queres hacer eso porque queres mostrar un menu distinto dependiendo del tipo de usuario.. o al menos yo eso entiendo talvez si nos pones un poco mas de informacion te podamos ayudar..

Desconectado kerberoz

  • The Communiter-
  • *
  • Mensajes: 3713
Re: Ayuda con Menus con php mysql
« Respuesta #4 : junio 15, 2006, 08:24:54 pm »
Esta interesante eso de los menus dinamicos, a mi en lo personal me gusta trabajar de esa forma con php por que no necesitas tanto codigo , ni una pagina por cada menu, el costo de eso es que tenes que pensar un poquito mas.  :p.

Lastima que no se como queres que te aparezacan esos menus para ayudarte. Pero creo que con un par de consultas y un poco de codigo lo haces sin tanta paja.
El aguinaldo es un invento comunista; pero eso no te molesta, ¿Verdad?

Desconectado theoden

  • Sv Member
  • ***
  • Mensajes: 383
Re: Ayuda con Menus con php mysql
« Respuesta #5 : junio 15, 2006, 08:50:17 pm »
Esta interesante eso de los menus dinamicos, a mi en lo personal me gusta trabajar de esa forma con php por que no necesitas tanto codigo , ni una pagina por cada menu, el costo de eso es que tenes que pensar un poquito mas.  :p.

Lastima que no se como queres que te aparezacan esos menus para ayudarte. Pero creo que con un par de consultas y un poco de codigo lo haces sin tanta paja.

mira segun lo q yo entiendo lo que este chavo quiere hacer es que el menu que yo entiendo como el que aparece en esta pagina donde dice inicio, foro, ayuda......sea dinamico.. si asi no necesitarias mas codigo solo es q diferencia el tipo de usuario porq si trabajas con clases los precedimientos serian los mismos solo los mandas a llamar..

eso si tenes razon hay que hacer mas paginas.. pero lo que yo no hallo logica para que quiere guardar la estructura del menu en la base de datos y generarla automaticamente con codigo.. si las opciones de la pagina ya estan definidas.. o a lo mejor yo no he entendido bien que es lo que quiere hacer..

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Ayuda con Menus con php mysql
« Respuesta #6 : junio 15, 2006, 10:09:16 pm »
lo que el quiere es un menu dinamico que se genere a partir de unas tablas, que en las tablas se tenga el menu principal y las subcategorias de cada menu y el menu debera de ser desplegable, si es facil de hacerlo por php ahora la cuestion esta que lo de usarl el menu en una base de datos es lo que no me parece , ya que sale mas facil crear un archivo php que contenga la funcion de creacion del menu en donde inclusive se puede hacer que el menu aparezca dependiendo de el nivel de usuario.

La cuestion esta en que
1- editas las tablas en donde este la informacion de los menus y estos se crean dinamicamente mediante php y mysql
2- editas un archivo en donde contiene una funcion que se encarga de la creacion de los menus e incluis este archivo en los php que deseas se genere el menu.

De igual manera en cada archivo de php que se desea presentar un menu deberas de incluir otro archivo que contenga la funcion de creacion de menu solo que una conseguira los datos de el mysql y otra estaran definidos los menus y sus subniveles directamente en el archivo.

Lucho avisame cual de las 2 opciones te parece mas y te hecho una mano con el codigo.

Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: Ayuda con Menus con php mysql
« Respuesta #7 : junio 16, 2006, 03:01:45 am »
Se me ocurre una idea interesante... y de paso trabajas con lo que esta de moda.. AJAX

Haces un script en PHP del lado del servidor, que se encargue de tirarte el menu.

por ejemplo..

getMenu.php?idMenuPadre=5

este te tira la lista:

menu1 5
menu2 4


Del lado del navegador habria un script , que te crearia los divs dinámicamente segun la información obtenida del getMenu.php

ventajas? Pues que del lado del servidor lo único que tendrias que hacer es un script simple, que te tirara listas de pares de valores.

desventajas? Tendrias que crear el script de lado cliente. Aunque como te digo, AJAX esta de moda y seria una buena forma de implementarlo de esa manera.


Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Ayuda con Menus con php mysql
« Respuesta #8 : junio 16, 2006, 10:39:00 am »
vaya viejo mas o menos esta seria una manera rapida con la que yo lo implementaria, resulta que te lo he hecho de la manera mas facil que es en donde el padre del menu siempre se mira pero simplemente si no tenes el acceso necesario para ver los hijos del padre no ves ni jota.

vos podes tambien hacer que si muestre algunos de los hijos y que oculte otros a partir del nivel eso es algo simplemente de agregarle mas if pero suponete cuando hago un sistema para escritorio los padres siempre los dejo visibles en los menu solo que cuando no tenes el acceso necesario para accesar a ese menu se mira borroso y no lo podes accesar, de igual manera he intentado recreartelo con php y un script bien bonito que he usado con anterioridad de dynamic drive.

en lo que si no te he ayudado es en lo del manejo de sesion , supongo que eso ya lo tenes resuelto, he planteado la solucion como un caso en donde a mayor nivel del usuario (este numero tendrias que manejarlo con tus sesiones, podes guardar el dato del nivel de usuario en la base de datos) y luego llevarlo en la sesion y de esta manera creas el menu haciendo el llamado a la funcion con el numero de nivel de usuario.

no te lo he separado pero logicamente que lo que debes de hacer es guardar la funcion en un archivo de php el cual vas a llamar desde los demas scripts de php con require quizas seria lo mejor y en donde queras que aparezca el menu le pones crear_menu();

Código: [Seleccionar]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Menu con niveles de usuario</title>
<link rel="stylesheet" type="text/css" href="chrometheme/chromestyle.css" />
<script type="text/javascript" src="chromejs/chrome.js">
/***********************************************
* Chrome CSS Drop Down Menu- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/
</script>
<?php
function crear_menu($nivel){

//el primero se creara para todos
echo '<div class="chromestyle" id="chromemenu">
<ul>
<li><a href="http://www.dynamicdrive.com">Home</a></li>
<li><a href="#" rel="dropmenu1">Resources</a></li>
<li><a href="#" rel="dropmenu2">News</a></li>
<li><a href="#" rel="dropmenu3">Search</a></li>
</ul>
</div>'
;

//se creara si el nivel es mayor que 1
if($nivel>=1){
echo 
'<!--1st drop down menu -->                                                   
<div id="dropmenu1" class="dropmenudiv">
<a href="http://www.dynamicdrive.com/">Dynamic Drive</a>
<a href="http://www.cssdrive.com">CSS Drive</a>
<a href="http://www.javascriptkit.com">JavaScript Kit</a>
<a href="http://www.codingforums.com">Coding Forums</a>
<a href="http://www.javascriptkit.com/jsref/">JavaScript Reference</a>
</div>'
;
}

//se creara si el nivel es mayor que 2
if($nivel>=2){
echo 
'<!--2nd drop down menu -->                                                
<div id="dropmenu2" class="dropmenudiv" style="width: 150px;">
<a href="http://www.cnn.com/">CNN</a>
<a href="http://www.msnbc.com">MSNBC</a>
<a href="http://news.bbc.co.uk">BBC News</a>
</div>'
;
}

//se creara si el nivel es mayor que 3
if($nivel>=3){
echo 
'<!--3rd drop down menu -->                                                   
<div id="dropmenu3" class="dropmenudiv" style="width: 150px;">
<a href="http://www.google.com/">Google</a>
<a href="http://www.yahoo.com">Yahoo</a>
<a href="http://www.msn.com">MSN</a>
</div>'
;
}

echo 
'<script type="text/javascript">
cssdropdown.startchrome("chromemenu")
</script>'
;

}
?>

</head>
<?php
//Mostrar el menu para cualquiera de los 3 niveles.
//crear_menu(3);
crear_menu(2);
//crear_menu(1);
?>

<body>
</body>
</html>


p.d.
jeje casi se me olvida adjuntarte todo el codigo de javascript para la creacion del menu :x

Para cambiarle colores a la barra de menu te dejo aqui la direccion del menu

http://www.dynamicdrive.com/dynamicindex1/chrome/chromemenu.zip

en el css tenes que incluir otro para que cambie de color ahi bajate el zip y esta bien explicado.

p.d.2

por cierto aqui esta el link en donde hablan de como se utiliza el menu

http://www.dynamicdrive.com/dynamicindex1/chrome/index.htm , ahi podes ver todo lo referente a que este alineado a la derecha , a la izquierda o al centro , y el cambio de colores.
« Última Modificación: junio 16, 2006, 12:00:59 pm por rdoggsv »

Desconectado Lucho

  • Sv Member
  • ***
  • Mensajes: 145
Re: Ayuda con Menus con php mysql
« Respuesta #9 : junio 17, 2006, 08:34:35 am »
Hey gracias  a todos.

rdoggsv  hey viejo gracias  es  exactamente  lo que  queria  y con la  onda  de la  sesiones  si ya lo tengo.
Y cabal el nivel de usuario  lo tengo asignado en la tabla usuarios  para  cada  usuario  ya  lo implemente  y esta  de toque funcionando bien vergon.

Hey Gracias. :yahoo: :yahoo:

Desconectado kerberoz

  • The Communiter-
  • *
  • Mensajes: 3713
Re: Ayuda con Menus con php mysql
« Respuesta #10 : junio 17, 2006, 08:50:19 am »
Hay va otro usuario satisfecho  :thumbsup: :thumbsup:.

Yo tambien voy ha sacar provecho de esto se ve interesante  :), y de paso no era mucho codigo el ke se tenia ke usar   :p
El aguinaldo es un invento comunista; pero eso no te molesta, ¿Verdad?

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Ayuda con Menus con php mysql
« Respuesta #11 : junio 17, 2006, 10:11:23 am »
que me alegro que te sirviera, si kerberoz es poquito codigo :p , tal vez se te hace mas grande si queres implementar mas if para que no se vean los menus a los que no tiene acceso pero eso es cuestion de unos if mas.

Se puede hacer inclusive mas pequeño si lo haces con arreglos pero si la solucion es pequeña y no necesita complicarse mas creo que no hay que hacerlo mas craneado :p