Ir para conteúdo

POWERED BY:

Arquivado

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

Wendel Rodrigues

Menu Multinível ASP + MySQL

Recommended Posts

Olá pessoal, eu estou precisando fazer um menu multiníveis puxando as categorias do banco de dados e montando os níveis conforme o idPai. Eu já tenho o banco de dados e consegui fazer funcionar esse script em PHP mas não consegui converter para ASP. Se puderem me ajudar, agradeço desde já.

 

Tabela "categorias":

 

CREATE TABLE IF NOT EXISTS `categorias` (
 `IdCat` int(11) unsigned NOT NULL AUTO_INCREMENT,
 `Categoria` varchar(60) NOT NULL,
 `IdPai` int(11) unsigned DEFAULT NULL,
 PRIMARY KEY (`IdCat`),
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;

 

Código em PHP:

 

<?php
function geraMenu(array $arrItens, $idPai=NULL, $nivel=0) {
 echo("<ul>\n");
 // Itera o array de acordo com o idPai passado como parâmetro na função
 foreach($arrItens[$idPai] as $idMenu => $menuItem) {
   echo("$idMenu - $nivel");
   echo("<li><span class=\"folder\"><a href=\"\">".$menuItem["Categoria"]."</a></span>\n");

   //Se houver subitens, chama a função novamente
   if(isset($arrItens[$idMenu])){
     geraMenu($arrItens, $idMenu, $nivel+1);
   }
   echo("</li>");
 }
 echo("</ul>");
}

$Servidor = "127.0.0.1";
$Usuario  = "root";
$Senha    = "root";
$Banco    = "menu";

$Conexao = mysql_connect($Servidor, $Usuario, $Senha) or die("<br>Não foi possivel conectar: ".mysql_error());
mysql_select_db($Banco) or die("<br>Não foi possível abrir o banco de dados");

$sql = mysql_query("SELECT * FROM categorias ORDER BY IdPai");

while($reg = mysql_fetch_array($sql)) {
 $arrItens[$reg["IdPai"]][$reg["IdCat"]] = array("Categoria" => $reg["Categoria"]);
}
geraMenu($arrItens);
?>

 

Alguém poderia me ajudar nessa?

Compartilhar este post


Link para o post
Compartilhar em outros sites

usando a sua estrutura da base de dados tente adaptar,

 



' ------------------------------------------------------------------------------
'	Retorna caminho das categorias
' ------------------------------------------------------------------------------
dim v_caminho
Function caminho(id)
dim sql,rs

sql = "select nome,idcategoriapai from categorias where idCategoria="&clng(id)
set rs = conexao.execute(sql)
if not rs.eof then
	caminho(rs("idcategoriapai"))
	v_caminho = v_caminho & rs("nome") & " - "
end if 
rs.close
set rs = nothing

if len(v_caminho) > 0 then
	caminho = mid(v_caminho,1,len(v_caminho)-3)
else
	caminho = ""
end if

End Function


 

Compartilhar este post


Link para o post
Compartilhar em outros sites

usando a sua estrutura da base de dados tente adaptar,

 



' ------------------------------------------------------------------------------
'	Retorna caminho das categorias
' ------------------------------------------------------------------------------
dim v_caminho
Function caminho(id)
dim sql,rs

sql = "select nome,idcategoriapai from categorias where idCategoria="&clng(id)
set rs = conexao.execute(sql)
if not rs.eof then
	caminho(rs("idcategoriapai"))
	v_caminho = v_caminho & rs("nome") & " - "
end if 
rs.close
set rs = nothing

if len(v_caminho) > 0 then
	caminho = mid(v_caminho,1,len(v_caminho)-3)
else
	caminho = ""
end if

End Function


 

Vou analisar esse código e tentar adapta-lo, obrigado.

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.