Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Danny Dantas

Menu DropDown Dinâmico PHP+MySQL

Recommended Posts

Bom dia galera,

 

Alguém sabe como fazer um menu dropdown dinâmico populando as informações com dados MySQL?

 

Menu horizontal (linhas de produtos)

MÓVEIS | TELEFONIA | AUTOMOTIVOS

 

Abrir famílias das linhas quando passar o mouse em cima

MÓVEIS

CADEIRAS

MESAS

ARMÁRIOS

 

Como nesse exemplo: http://templatemodelo110.blogspot.com.br/, mas usando o banco de dados.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

crie uma tabela no seu banco responsavel pelas informações do menu com categorias que seriam MÓVEIS | TELEFONIA | AUTOMOTIVOS e uma tabela com subcategorias que seriam CADEIRAS MESAS ARMÁRIOS ai você monta o menu derop down a partir de um while que vai exibir as infromações do menu.

ai é só você relacionar as tabelas com um identificador no caso na tabela categoarias teria uma chave primaria por exemplo id_menu e na tabela sub categorias teria uma chave primaria pra cada categoria no caso id e teria o campo id_menu que seria responsavel por identificar a que categoria pertence aquela sub categoria.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso já existe manoaj, mas o que preciso é mostrar as sub-categorias quando passar o mouse em cima da categoria.



Tipo esse menu do forúm.

A lista é estática ou dinâmica? Alguém sabe dizer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou explicar de uma maneira simples

 

Primeiro cria a tabela menu

 

id

nome

 

Depois cria a tabela submenu

id

nome

menu

 

Vamos supor que você criou o menu

id: 1

nome: Produtos

 

 

e Sub menu

id: 1
nome: Computadores

categoria: 1

 

vai no DreamWeaver e menu Insert -> Spry -> Spry Menu Bar -> Horizontal

 

ele vai criar algo assim

<ul id="MenuBar1" class="MenuBarHorizontal">
  <li><a class="MenuBarItemSubmenu" href="#">Item 1</a>
    <ul>
      <li><a href="#">Item 1.1</a></li>
      <li><a href="#">Item 1.2</a></li>
      <li><a href="#">Item 1.3</a></li>
    </ul>
  </li>
  <li><a href="#">Item 2</a></li>
  <li><a class="MenuBarItemSubmenu" href="#">Item 3</a>
    <ul>
      <li><a class="MenuBarItemSubmenu" href="#">Item 3.1</a>
        <ul>
          <li><a href="#">Item 3.1.1</a></li>
          <li><a href="#">Item 3.1.2</a></li>
        </ul>
      </li>
      <li><a href="#">Item 3.2</a></li>
      <li><a href="#">Item 3.3</a></li>
    </ul>
  </li>
  <li><a href="#">Item 4</a></li>
</ul>

 

ok?

 

ai vamos para o select no banco

 

em cima desse script gerado

 

 

<ul id="MenuBar1" class="MenuBarHorizontal">
 <?PHP  
$sql    = "SELECT * FROM menu order by nome asc";
$res    = mysql_query($sql) or die (alerta("linha 8  ".mysql_error()));
while($row = mysql_fetch_array($res)) {
	$menu=$row['nome'];
	$id_cat=$row['id'];	
?> 

<?php //Aqui vamos contar o submenu para ver se abre o submenu ou não
$sql2    = "SELECT * FROM submenu where categoria='$id_cat' order by nome asc";
$res2    = mysql_query($sql2) or die (alerta("linha 8  ".mysql_error()));
$contador =  mysql_num_rows($res2);
// se não tiver submenu ele fecha a tag 
if($contador==0){
	echo '<li><a class="MenuBarItem" href="#">'.$menu.'</a>';
echo "</li>";
}else {
		echo '<li><a class="MenuBarItemSubmenu" href="#">'.$menu.'</a>';

echo "<ul>";
while($row2 = mysql_fetch_array($res2)) {
	$submenu=$row2['nome'];
	?>
      <li><a href="#"><?php echo $submenu;?></a></li>
 <?php     }?>
      
    </ul>
  </li>
 <?php     }}?>
</ul>

 

 

é isso ai

 

pode testar

 

Mario Veiga

www.tosempreai.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mario Veiga, obrigada pela resposta.

Gerei o menu, mas mesmo assim, ainda preciso que seja horizontal e o PRINCIPAL é que mostre as sub-categorias apenas quando passar o mouse em cima da categoria, entendeu?



Meu Dream não tem a opção Spry. . é a versão 8

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa.. é isso mesmo do exemplo.

Vou ajustar para os meus dados e ver no que dá. . Obrigadão Mario Veiga.

 

Respondo assim que terminar.



Mario Veiga. .. DEU CERTO!!!! Muito obrigada !!! :hug:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Mario Veiga.

Muito bom o script, mas teria como eu adicionar um título diferente para cada Submenu?

Por exemplo:

Tenho um menu "vestuário" e nele terá os sub-menus "Calça, Camisa, Etc.." e Queria diferenciar pelo tipo Masculino e Feminino.

Ficando assim no código cru:

 

<h4>Masculino</h4>
<ul><!-- Inicio Sub-Menu Masculino -->
<li><a href="#">Bermuda</a></li>
<li><a href="#">Camisa</a></li>
<li><a href="#">Calça</a></li>
<!-- ... -->
</ul><!-- Fim Sub-Menu Masculino -->
</div><!-- Fim Menu Masculino -->
<div><!-- Inicio Menu Feminino -->
<h4>Feminino</h4>
<ul><!-- Inicio Sub-Menu Feminino -->
<li><a href="#">Bermuda</a></li>
<li><a href="#">Camisa</a></li>
<li><a href="#">Calça</a></li>
<li><a href="#">Vestido</a></li>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce diz submenu dentro de submenu?

 

Estou precisando exatamente disso, um submenu dentro de um submenu, ja mexi no codigo aqui e não consegui fazer.

Exemplo:

Menu - Hardware

Submenu - Computador

Submenu2 - Processador

 

Como ficaria o código? Ja adicionei uma table pra submenu2 com id, nome e categoria, onde categoria corresponde ao id do submenu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou precisando exatamente disso, um submenu dentro de um submenu, ja mexi no codigo aqui e não consegui fazer.

Exemplo:

Menu - Hardware

Submenu - Computador

Submenu2 - Processador

 

Como ficaria o código? Ja adicionei uma table pra submenu2 com id, nome e categoria, onde categoria corresponde ao id do submenu

Gabriel, Acho q a lógica é vc acrescentar mais uma tabela tipo "genero"

 

"Vamos supor que você criou o menu

id: 1

nome: Produtos

 

 

e Sub menu

id: 1

nome: Computadores

categoria: 1

genero: Masculino ou feminino"

 

depois disso, vc filtra na busca

 

while($row2 = mysql_fetch_array($res2)) {
 $submenu=$row2['nome'];
$genero=$row2['genero'];  ?> 
<li><a href="#">
<?php if($genero == "Masculino"){ echo $submenu;}?></a></li> <?php }?>

 

 

Eu pelo menos pensaria dessa forma. Foi mal se to falando besteira. Pode ser que dê certo hahaha

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.