Jump to content
Fórum Script Brasil
  • 0

Menu Extendido categoria e subcategoria


tms.guiri
 Share

Question

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

Edited by tms.guiri
Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.5k
×
×
  • Create New...