Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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?
Carregando comentários...