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:
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.
Pergunta
tms.guiri
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 '<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 '<script>alert("Categoria cadastrada!")</script>';
}else{
echo '<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 '<script>alert("Sub-Categoria cadastrada!")</script>';
}else{
echo '<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.guiriLink para o comentário
Compartilhar em outros sites
0 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.