Bom dia amigos, estou fazendo um menu dinamico onde os dados vem do bd (mysql) e este monta o menu com sub-menu. Quando este esta na vertical "pega" todos os dados da sub-categoria do menu, mas na horizontal so retorna o 1º item (sub-categoria) para cada categoria.
<ul class="menu" id="menu">
<li><a href="./" class="menulink">Home</a></li>
<?
$consulta = mysql_query("SELECT * FROM categorias ORDER BY categoria ASC");
while($verifica = mysql_fetch_array($consulta)){
$id = $verifica["id_cat"];
$nome = $verifica["categoria"];
#Faz uma query e seleciona todoas as categorias referentes ao menu
$c2 = mysql_query("SELECT * FROM subcategorias WHERE categoria = '$nome'");
if (mysql_num_rows($c2) > 0){
echo "<li><a href='#' class='menulink'>".$nome."</a>"; //Exibe a categoria
#Retorna as sub-categorias
while($v2 = mysql_fetch_array($c2)){ //Aki usando while ou if faz a mesma coisa
echo "<ul>";
echo "<li>";
echo "<a class='sub' title='$nome >> $v2[nome]' href='?p=".$nome."&sub=".$v2['id']."'>".$v2['nome']."</a>";
echo "</li>";
echo "</ul>";
}
}
}
?>
</ul>
<script type="text/javascript">
var menu=new menu.dd("menu");
menu.init("menu","menuhover");
</script>
as tabelas
CREATE TABLE `categorias` (
`id_cat` int(11) NOT NULL auto_increment,
`categoria` varchar(75) NOT NULL,
PRIMARY KEY (`id_cat`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
CREATE TABLE `subcategorias` (
`id` int(11) NOT NULL auto_increment,
`id_cat` int(11) NOT NULL,
`categoria` varchar(75) NOT NULL,
`nome` varchar(60) NOT NULL,
`descricao` longtext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;
Menu vertical
<div id="menu">
<div id="categoria">Principal</div>
<div id="subcateg"><a href="./">Home</a></div>
<div id="subcateg"><a href="?p=portifolio">Portifólio</a></div>
<div id="subcateg"><a href="?p=servicos">Serviços</a></div>
<div id="subcateg"><a href="?p=sobre">Sobre</a></div>
<div id="subcateg"><a href="?p=contato">Contato</a></div>
<?
$consulta = mysql_query("SELECT * FROM categorias ORDER BY categoria ASC");
while($verifica = mysql_fetch_array($consulta)){
$id = $verifica["id_cat"];
$nome = $verifica["categoria"];
#Faz uma query e seleciona todoas as categorias referentes ao menu
$c2 = mysql_query("SELECT * FROM subcategorias WHERE categoria = '$nome'");
if (mysql_num_rows($c2) > 0){
#Mostra o Nome do Menu
print "<div id=categoria>".$nome."</div>";
#Faz um While e mostra todas as Sub-categorias do menu
while($v2 = mysql_fetch_array($c2)){
print "<div id=subcateg><a title='$nome >> $v2[nome]' href='?p=".strtolower($nome)."&sub=".$v2['id']."'>".$v2['nome']."</a></div>";
}
}
}
?>
</div>
O que preciso mesmo e resolver a parte horizontal que é o menu que estou querendo.
Pergunta
João F. Melo
Bom dia amigos, estou fazendo um menu dinamico onde os dados vem do bd (mysql) e este monta o menu com sub-menu. Quando este esta na vertical "pega" todos os dados da sub-categoria do menu, mas na horizontal so retorna o 1º item (sub-categoria) para cada categoria.
Aqui tem o exemplo funcionando na horizontal e vertical
Menu Horizontal
as tabelas Menu verticalO que preciso mesmo e resolver a parte horizontal que é o menu que estou querendo.
Fiquem com Deus.
Link para o comentário
Compartilhar em outros sites
5 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.