mariozinho_de Posted May 2, 2007 Report Share Posted May 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! Quote Link to comment Share on other sites More sharing options...
0 Feinho Posted May 6, 2007 Report Share Posted May 6, 2007 O que seria exatamente um menu dinâmico? Desculpe mas não sei nada ainda de PHP e MySQL, estou querendo aprender!!! Quote Link to comment Share on other sites More sharing options...
0 Guest Visitante Posted June 13, 2007 Report Share Posted June 13, 2007 Opá faz tempo que tava querendo entender isso! Valeu! Quote Link to comment Share on other sites More sharing options...
0 Guest Sadla Posted July 25, 2007 Report Share Posted July 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 Quote Link to comment Share on other sites More sharing options...
0 Inovar Group Posted September 5, 2008 Report Share Posted September 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. Quote Link to comment Share on other sites More sharing options...
0 SenKiLL Posted December 8, 2009 Report Share Posted December 8, 2009 Ótimo Recurso, sou iniciante em desenvolvimentos em linguagem php, esse é um script bom para dar uma estudada, obrigado por compartilhar. Quote Link to comment Share on other sites More sharing options...
0 jenner Posted July 17, 2011 Report Share Posted July 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? Quote Link to comment Share on other sites More sharing options...
Question
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 to comment
Share on other sites
6 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.