mariozinho_de Postado Maio 2, 2007 Denunciar Share Postado Maio 2, 2007 Menu Dinâmico com PHP e MySQLOla galera, como eu não vi nenhum menu dinamico por aqui. segue esse que eu tava desenvolvendo, fiz o mais simples possivel pra galera que de nivel básico também poder usar o código.Duvidas, poste ai que eu respondo.1. Crie a tabela-- -- Estrutura da tabela `paginas`-- CREATE TABLE `paginas` ( `codigo` int(11) NOT NULL auto_increment, `menu` varchar(100) NOT NULL default '', `texto` text NOT NULL, `submenu` int(11) NOT NULL default '0', `ordem` int(11) NOT NULL default '0', `titulo` varchar(100) NOT NULL default '', `id_menu` int(11) NOT NULL default '0', PRIMARY KEY (`codigo`)) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;2. Insira os dadosINSERT INTO `paginas` VALUES (1, 'menu1', 'menu1 menu1 menu1 menu1 menu1', 0, 1, 'menu1', 0);INSERT INTO `paginas` VALUES (2, 'menu2', 'menu2 menu2 menu2 menu2 menu2', 1, 2, 'menu2', 0);INSERT INTO `paginas` VALUES (3, 'sub1', 'sub1sub1sub1sub1sub1', 0, 1, 'sub1', 2);INSERT INTO `paginas` VALUES (4, 'sub2', 'sub2 sub2 sub2 sub2sub2', 0, 1, 'sub2', 2);3. Explicado cada colunacodigo - codigo da paginamenu - e nome que vai aparecer no menutexto - e o conteudo da paginasubmenu - é pra dizer se o link vai ter ou não submenu (se tiver é 1 se não é 0)ordem - ordenar os linkstitulo - é titulo da pagina (nem precisava disso na real)id_menu - coloca-se o cdigo do menu que os submenu possuem4. Conectando a base de dados <?php function conecta () { $host = "localhost"; $senha = ""; $login = "root"; $banco = "final"; $conexao = mysql_connect($host,$login,$senha) or die(mysql_error()); mysql_select_db($banco,$conexao); } function desconecta (){ mysql_close(); } ?> 5. Cria o arquivo (index.php) onde a gente vai se chamar tudo que é página. <?php session_start(); include("includes/f_banco.php"); conecta (); ?> <!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>Untitled Document</title> </head> <body> <table width="100%" border="1" cellpadding="0" cellspacing="5" bordercolor="#999999"> <tr> <td colspan="2"><?=$titulo?></td> </tr> <tr> <td width="22%"><?php include('menu.php'); ?> </td> <td width="78%"> <?php if(isset($_REQUEST['id_pagina'])) { $id_pagina = $_REQUEST['id_pagina']; $sqli = "SELECT * FROM paginas"; $resi = mysql_query($sqli); $dadosi = mysql_fetch_array ($resi,MYSQL_ASSOC); $tipo = $dadosi['submenu']; $id = $dadosi['codigo']; $menu = $dadosi['menu']; $titulo = $dadosi['titulo']; $texto = $dadosi['texto']; if($tipo == 0) { $sql = "SELECT codigo, menu, titulo, texto FROM paginas where submenu = 0 AND codigo = $id_pagina"; } elseif($tipo == 1) { $sql = "SELECT codigo, menu, titulo, texto FROM paginas where submenu = 1 AND codigo = $id_pagina"; } $res = mysql_query($sql); $dadosi = mysql_fetch_array ($res,MYSQL_ASSOC); $id = $dadosi['codigo']; $menu = $dadosi['menu']; $titulo = $dadosi['titulo']; $texto = $dadosi['texto']; echo $texto; ?></td> </tr> </table> <?php } ?> <p> </p> </body> </html> <?php desconecta (); ?> 6. Cria um menu dinamico (menu.php) <table width="200" border="0" cellspacing="5" cellpadding="0"> <?php $sql = "SELECT codigo, menu, submenu FROM paginas where id_menu = 0 order by ordem"; $res = mysql_query($sql); $num_linhas = mysql_num_rows($res); for ($i=0; $i < $num_linhas;$i++) { $dados = mysql_fetch_array ($res,MYSQL_ASSOC); $id = $dados['codigo']; $menu = $dados['menu']; $submenu = $dados['submenu']; ?> <tr> <td><?php if($dados['submenu'] == 0) { echo "<a href='index.php?id_pagina=".$dados['codigo']."&tipo=0'>".$dados['menu']."</a>"; } else { echo $dados['menu']; } ?> </td> </tr> <?php $sql = "SELECT codigo, menu FROM paginas where id_menu = ".$dados['codigo']." AND id_menu <> 0"; //echo $sql."<br>"; $res2 = mysql_query($sql); $num_linhas2 = mysql_num_rows($res2); if($num_linhas2 > 0) { for ($j=0; $j < $num_linhas2;$j++) { ?> <tr> <td> <?php $dados2 = mysql_fetch_array ($res2,MYSQL_ASSOC); echo " <a href='index.php?id_pagina=".$dados2['codigo']."&tipo=1'>".$dados2['menu']."</a>"; ?> </td> </tr> <?php } ?> <?php } } ?> </table> <p> </p>é isso, o codigo é parece ser meio complicado mas se você entender a logica ele só vai....Fui! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Feinho Postado Maio 6, 2007 Denunciar Share Postado Maio 6, 2007 O que seria exatamente um menu dinâmico? Desculpe mas não sei nada ainda de PHP e MySQL, estou querendo aprender!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Junho 13, 2007 Denunciar Share Postado Junho 13, 2007 Opá faz tempo que tava querendo entender isso! Valeu! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Sadla Postado Julho 25, 2007 Denunciar Share Postado Julho 25, 2007 Oi. estou começando agora... então, seria possível dizponibilizar os arquivos em zip por exemplo?Eu não consegui entender... :huh: Grata Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Inovar Group Postado Setembro 5, 2008 Denunciar Share Postado Setembro 5, 2008 Menu dinâmico seria criado através de um recurso administrativo, de modo que você poderia criar quantas categorias que necessitar para o menu, como exemplo:CIDADEREGIONALBRASILMUNDOPOLÍTICAE através desse recurso administrativo você teria a possibilidade de inserir, modificar e até mesmo excluir a categoria do menu.Bom, é assim que eu trabalho utilizando PHP. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 SenKiLL Postado Dezembro 8, 2009 Denunciar Share Postado Dezembro 8, 2009 Ótimo Recurso, sou iniciante em desenvolvimentos em linguagem php, esse é um script bom para dar uma estudada, obrigado por compartilhar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jenner Postado Julho 17, 2011 Denunciar Share Postado Julho 17, 2011 Fiz o menu dinamico para meu site: http://www.sonhosdevelopers.com.br/, no entanto a pagina inicial ficou com url diferente da acessada com o menu.a url inicial é:http://www.sonhosdevelopers.com.br/index.phpnessa não aparece o conteudo resgatado do bd.a url inicial gerada pelo menu ficou:http://www.sonhosdevelopers.com.br/index.p...na=1&tipo=0nessa aparece o conteudo resgatado do bd.ficaram parecendo paginas diferentes, mas só exite uma.tentei resolver com url amigavel, mas não consegui.até onde entendi o conteudo do bd não é acessado logo que entra no site, mas só depois de clicado no menu. não está certo.como posso resolver? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
mariozinho_de
Menu Dinâmico com PHP e MySQL
Ola galera, como eu não vi nenhum menu dinamico por aqui. segue esse que eu tava desenvolvendo, fiz o mais simples possivel pra galera que de nivel básico também poder usar o código.
Duvidas, poste ai que eu respondo.
1. Crie a tabela
2. Insira os dados3. Explicado cada coluna
codigo - codigo da pagina
menu - e nome que vai aparecer no menu
texto - e o conteudo da pagina
submenu - é pra dizer se o link vai ter ou não submenu (se tiver é 1 se não é 0)
ordem - ordenar os links
titulo - é titulo da pagina (nem precisava disso na real)
id_menu - coloca-se o cdigo do menu que os submenu possuem
4. Conectando a base de dados
5. Cria o arquivo (index.php) onde a gente vai se chamar tudo que é página. 6. Cria um menu dinamico (menu.php)é isso, o codigo é parece ser meio complicado mas se você entender a logica ele só vai....
Fui!
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.