Ir para conteúdo
Fórum Script Brasil
  • 0

Menu Extendido categoria e subcategoria


tms.guiri

Pergunta

Boa tarde,

Estou tentando desenvolver um menu da seguinte forma:

Nome da categoria

subcategoria

Ira listar um menu lateral vindo do BD das categorias cadastradas e ao clicar em cima da categoria desejada ser expandido as subcategorias existentes nessa categoria.

O codigo para inserir categoria e subcategoria esta correto e funcionando perfeitamente é este:

$nome = isset($_POST['nome']) ? $_POST['nome'] : false;

$id_pai = isset($_POST['id_pai']) ? $_POST['id_pai'] : false;

if(isset($_POST['cadastro']) && $_POST['cadastro'] == 'add'){

if($nome == ""){

echo '&lt;script>alert("Preencha o Nome")</script>';

}else{

if(isset($_POST['cadastro']) && $_POST['cadastro'] == 'add'){

$sql = "INSERT INTO categorias VALUES (null, 0, '$nome')";

$query = mysql_query($sql) or die ("Erro na Insercao ao bando de dados".mysql_error());

if ($query == true) {

echo '&lt;script>alert("Categoria cadastrada!")</script>';

}else{

echo '&lt;script>alert("Ocorreu algum erro ao cadastrar a Categoria!")</script>';

}

}

}

}

// Aqui começa o script para cadastrar as sub-categorias

if(isset($_POST['cadastro']) && $_POST['cadastro'] == 'sub'){

$sql = "INSERT INTO categorias VALUES(null, '%s', '%s')";

$sql = sprintf($sql, $id_pai, $nome);

$query = mysql_query($sql) or die ("Erro na Insercao ao bando de dados".mysql_error());

if ($query == true) {

echo '&lt;script>alert("Sub-Categoria cadastrada!")</script>';

}else{

echo '&lt;script>alert("Ocorreu algum erro ao cadastrar a Sub-Categoria!")</script>';

}

}

//SQL para listar os albuns

//WHERE id_pai = 0 serve para mostrar somente categorias que possui id_pai = 0

$query = mysql_query("SELECT * FROM categorias WHERE id_pai = 0 ORDER BY nome") or die(mysql_error());

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns=http://www.w3.org/1999/xhtml" xml:lang="en">

<head>

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />

<title>Cadastrar Albuns</title>

</head>

<body>

<div id="corpo">

<h2 class="titulo">Cadastrar uma Categoria</h2>

<form action="" method="post" enctype="multipart/form-data">

<fieldset>

<label><span class="descricoes">Nome Categoria<br />

</span>

<input name="nome" type="text" class="textfild" /></label>

<br />

<br />

<label><br /></label>

<!-- Indica o tipo que será, no se for album ou Imagem -->

<input type="hidden" name="cadastro" value="add" />

<br />

<input type="submit" class="botao" value=" Categoria" />

</fieldset>

</form>

<br /><br />

<h2 class="titulo">Criar sub-categoria</h2>

<form action="" method="post" enctype="multipart/form-data">

<fieldset>

<label><span class="descricoes"><br />

Escolha uma Categoria</span>

<select name="id_pai">

<option value="" selected="selected">Categorias</option>

<?php

while($row = mysql_fetch_assoc($query)) {

printf('<option value="%u">%s</option>', $row['id], $row['nome']);

}

?>

</select>

</label>

<br />

<br />

<br />

<label><span class=descricoes">Nome da Sub-Categoria<br />

</span></label>

<label for="nome"></label>

<input name="nome" type="text" class="textfild" id="nome" />

<label><span class="descricoes"> </span></label>

<label for="nome"></label>

<br />

<!-- Indica o tipo que será, no se for album ou Imagem -->

<input type="hidden" name="cadastro" value="sub" />

<input type="submit" class="botao" value="Sub-Categoria" />

</fieldset>

</form>

Agora estou tentando listar o menu com esse:

$tSelecionaCat = mysql_query ("SELECT * FROM categorias ORDER BY id_pai DESC");

while ($linha= mysql_fetch_array($tSelecionaCat)){

$idCat = $linha['id_pai];

?>

<li class="odd"><a href="categorias.php?catId=<? echo $linha['id_pai'];?>"><? echo $linha['nome'];?></a>

<?

$tSelecionaSub = mysql_query("SELECT * FROM categorias WHERE id=$idCat'");

if (mysql_num_rows ($tSelecionaSub) == 0){

} else{

?>

<ul class="left_menu">

<?

while ($linhasub = mysql_fetch_array($tSelecionaSub)){

?>

<li> <a href="categorias.php?subcat=<? echo $linhasub[id];?>"><? echo $linhasub['nome]; ?></a></li>

<? } ?>

</ul>

<? } ?>

</li>

<? } ?>

</ul>

no BD esta assim

Id | id_pai | nome

Mas não esta aparecendo do jeito que gostaria que ao clicar na categoria expandisse para a subcategoria. alguém poderia me ajudar? E desculpe pelo codigo mais as TAGS não estão habilitando.

Agradeço desde já e aguardo resposta

Editado por tms.guiri
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...