claytonprog Postado Agosto 22, 2012 Denunciar Share Postado Agosto 22, 2012 Pessoal!É o seguinte:tenho um menu dinâmico com 4 níveis gostaria que ocultasse o <li> para que o menu não apareça caso não haja no banco o item correspondente.segue o código<link type="text/css" href="menu.css" rel="Stylesheet" /> <div id="nav"> <ul> <li><a href="#">Selecione a Categoria</a> <!-- Categoria 1º nível ----> <ul> <?php include "../connections/conexao.php"; $SQL = "SELECT * FROM categorias ORDER BY categoria asc limit 80"; $query = mysql_query($SQL); while($row = mysql_fetch_array($query)) { $categoria = $row['categoria']; $id = $row['id']; ?> <li><a href="#"><? echo $categoria; ?></a> <!-- Início Sub-Categoria 2º nível ----> <ul> <?php $SQL9 = "SELECT * FROM sub_categorias where id_categoria='$id' ORDER BY subcategoria asc"; $query9 = mysql_query($SQL9); while($row9 = mysql_fetch_array($query9)) { $sub_categoria = $row9['subcategoria']; $id_sub_categoria = $row9['id']; ?> <li><a href="#"><? echo $sub_categoria; ?></a> <!-- Início dos Itens 3º nível ----> <ul> <?php $SQL8 = "SELECT * FROM sub_sub_categorias where id_sub_categoria='$id_sub_categoria' ORDER BY sub_sub_categoria asc"; $query8 = mysql_query($SQL8); while($row8 = mysql_fetch_array($query8)) { $sub_sub_categoria = $row8['sub_sub_categoria']; $id_sub_sub_categoria = $row8['id']; ?> <li><a href="#"><? echo $sub_sub_categoria; ?></a> <!-- Início do Sub-Itens 4º nível ----> <ul> <?php $SQL7 = "SELECT * FROM sub_itens where id_sub_sub_categoria='$id_sub_sub_categoria' ORDER BY sub_item asc"; $query7 = mysql_query($SQL7); while($row7 = mysql_fetch_array($query7)) { $sub_item = $row7['sub_item']; $id_sub_sub_categoria = $row7['id']; ?> <li><a href="#"><? echo $sub_item; ?></a></li> <? } ?> </ul> <!-- Final do Sub-Itens 4º nível ----> </li> <? } ?> </ul> <!-- Final dos Itens 3º nível ----> </li> <? } ?> </ul> <!-- Final Sub-Categoria 2º nível ----> <? } ?> </li> </ul> <!-- Final Categoria 1º nível ----> </li> </ul> </div> O css: #nav { float: left; width:auto; font: bold 12px Arial, Helvetica, Sans-serif; border: 1px solid #121314; border-top: 1px solid #2b2e30; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; overflow: hidden; } #nav ul { width:auto; margin:0; padding:0; list-style:none; } #nav ul li { float:left; } #nav ul li a { float: left; color:#d4d4d4; padding: 10px 20px; text-decoration:none; background:#3C4042; background: -webkit-gradient( linear, left bottom, left top, color-stop(0.09, rgb(59,63,65)), color-stop(0.55, rgb(72,76,77)), color-stop(0.78, rgb(75,77,77)) ); background: -moz-linear-gradient( center bottom, rgb(59,63,65) 9%, rgb(72,76,77) 55%, rgb(75,77,77) 78% ); background: -o-linear-gradient( center bottom, rgb(59,63,65) 9%, rgb(72,76,77) 55%, rgb(75,77,77) 78% ); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1) inset, 0 0 5px rgba(0, 0, 0, 0.1) inset; border-left: 1px solid rgba(255, 255, 255, 0.05); border-right: 1px solid rgba(0,0,0,0.2); text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.6); } #nav ul li a:hover, #nav ul li:hover > a { color: #252525; background:#3C4042; background: -webkit-gradient( linear, left bottom, left top, color-stop(0.09, rgb(77,79,79)), color-stop(0.55, rgb(67,70,71)), color-stop(0.78, rgb(69,70,71)) ); background: -moz-linear-gradient( center bottom, rgb(77,79,79) 9%, rgb(67,70,71) 55%, rgb(69,70,71) 78% ); background: -o-linear-gradient( center bottom, rgb(77,79,79) 9%, rgb(67,70,71) 55%, rgb(69,70,71) 78% ); text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2), 0 -1px #000; } #nav li ul a:hover, #nav ul li li:hover > a { color: #2c2c2c; background: #5C9ACD; background: -webkit-gradient( linear, left bottom, left top, color-stop(0.17, rgb(61,111,177)), color-stop(0.51, rgb(80,136,199)), color-stop(1, rgb(92,154,205)) ); background: -moz-linear-gradient( center bottom, rgb(61,111,177) 17%, rgb(80,136,199) 51%, rgb(92,154,205) 100% ); background: -o-linear-gradient( center bottom, rgb(61,111,177) 17%, rgb(80,136,199) 51%, rgb(92,154,205) 100% ); border-bottom: 1px solid rgba(0,0,0,0.6); border-top: 1px solid #7BAED9; text-shadow: 0 1px rgba(255, 255, 255, 0.3); } #nav li ul { background:#3C4042; background-image: -webkit-gradient( linear, left bottom, left top, color-stop(0.09, rgb(77,79,79)), color-stop(0.55, rgb(67,70,71)), color-stop(0.78, rgb(69,70,71)) ); background-image: -moz-linear-gradient( center bottom, rgb(77,79,79) 9%, rgb(67,70,71) 55%, rgb(69,70,71) 78% ); background-image: -o-linear-gradient( center bottom, rgb(77,79,79) 9%, rgb(67,70,71) 55%, rgb(69,70,71) 78% ); border-radius: 0 0 10px 10px; -moz-border-radius: 0 0 10px 10px; -webkit-border-radius: 0 0 10px 10px; left: -999em; margin: 35px 0 0; position: absolute; width: 160px; z-index: 9999; box-shadow: 0 0 15px rgba(0, 0, 0, 0.4) inset; -moz-box-shadow: 0 0 15px rgba(0, 0, 0, 0.4) inset; -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.4) inset; border: 1px solid rgba(0, 0, 0, 0.5); } #nav li:hover ul { left: auto; } #nav li ul a { background: none; border: 0 none; margin-right: 0; width: 120px; box-shadow: none; -moz-box-shadow: none; -webkit-box-shadow: none; border-bottom: 1px solid transparent; border-top: 1px solid transparent; } #nav li li ul { margin: -1px 0 0 160px; -webkit-border-radius: 0 10px 10px 10px; -moz-border-radius: 0 10px 10px 10px; border-radius: 0 10px 10px 10px; visibility:hidden; } #nav li li:hover ul { visibility:visible; } #nav ul ul li:last-child > a { -moz-border-radius:0 0 10px 10px; -webkit-border-radius:0 0 10px 10px; border-radius:0 0 10px 10px; } #nav ul ul ul li:first-child > a { -moz-border-radius:0 10px 0 0; -webkit-border-radius:0 10px 0 0; border-radius:0 10px 0 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 claytonprog Postado Agosto 23, 2012 Autor Denunciar Share Postado Agosto 23, 2012 Pessoal!Para facilitar dei um printscreen na tela dá uma olhada que você vai entender.Imagem do meu Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Massaki Postado Agosto 23, 2012 Denunciar Share Postado Agosto 23, 2012 use a função mysql_num_rows($query_de_busca) para saber se houve resultados.Aí coloque um IF ... ELSE para gerar a <li> ou não Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
claytonprog
Pessoal!
É o seguinte:
tenho um menu dinâmico com 4 níveis gostaria que ocultasse o <li> para que o menu não apareça caso não haja no banco o item correspondente.
segue o código
O css:Link para o comentário
Compartilhar em outros sites
2 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.