Subcategorias
Olá estou precisando de ajuda com subcategorias, eu tenho um banco de dados que tem tabelas abaixo :
acima mostra a tabela de categorias
abaixo a de produtos
posto isso eu no meu index retorno as categorias usando um foreach, solicitando que tudo que for categoria seja listado ou seja eu nao escrevo o nome de cada uma eu faço o banco fazer uma lista no meu layout mostrando todas as categorias que eu tenho, e cada uma puxa os produtos mas eu preciso criar uma subcategorias por exempplo
marcar, como honda, fiat , renoaut por exemplo,
ai estas sao as categorias primarias
quando listar e alguem clicar ou passar o mouse sobre a Honda por exemplo
Tem que aparecer as subs por exemplo
carros, peças, cabeçote , pino, seja la o que for, estou dando um exemplo que tem bastante subcategorias, preciso pegar este bando e fazer ele me trazer subs atraves das categorias pensei em usar o ID da tabela um ou a REFERENCIA da tabela 2 mas infelizmente ainda estou estudando e nao faço a menor ideia de como fazer isso vou deixar meu codigo foreach aqui embaixo :
<div class="col-md-6">
<div class="list-group">
<div class="header-search">
<form method="POST">
<div class="dropdown">
<select class="dropbtn" ><option align="center" hidden> <i class="glyphicon glyphicon-list">Categorias</i></option></select>
<div class="dropdown-content">
<a href="{$PAG_PRODUTOS}">Todos</a>
{foreach from=$CATEGORIAS item=C}
<a href=" {$C.cate_link}">{$C.cate_nome}</a>
{/foreach}
</div>
</div>
<form method="POST">
<input name="txt_buscar" class="input" placeholder="Digite para buscar">
<button class="search-btn">Buscar</button>
</form>
</form>
</div>
</div>
</div>
e este é o PHP da categorias se precisar do de produtos me avise, no momento esta funcionando perfeitaente o que estou pedindo é ajuda para inserir subcategorias utilizando o que tenho feito
PHP
<?php
Class Categorias extends Conexao{
private $cate_id, $cate_nome, $cate_slug;
function __construct(){
parent::__construct();
}
function GetCategorias(){
//query para buscar os produtos de uma categoria especifica.
$query = "SELECT * FROM {$this->prefix}categorias";
$this->ExecuteSQL($query);
$this->GetLista();
}
private function GetLista(){
$i = 1;
while($lista = $this->ListarDados()):
$this->itens[$i] = array(
'cate_id' => $lista['cate_id'],
'cate_nome' => $lista['cate_nome'] ,
'cate_slug' => $lista['cate_slug'] ,
'cate_link' => Rotas::pag_Produtos(). '/' .$lista['cate_id'] . '/' . $lista['cate_slug'] ,
'cate_link_adm' => Rotas::pag_ProdutosADM(). '/' .$lista['cate_id'] . '/' . $lista['cate_slug'] ,
);
$i++;
endwhile;
}
function Inserir($cate_nome){
// trato os campos
$this->setCate_nome($cate_nome);
$this->setCate_slug($cate_nome);
// monto a SQL
$query = " INSERT INTO {$this->prefix}categorias (cate_nome, cate_slug )";
$query.= " VALUES (:cate_nome, :cate_slug )";
// passo so parametros
$params = array(':cate_nome' => $this->getCate_nome(),
':cate_slug' => $this->getCate_slug(),
);
// executo a minha SQL
if($this->ExecuteSQL($query, $params)):
return TRUE;
else:
return FALSE;
endif;
}
function Editar($cate_id,$cate_nome){
// trato os campos
$this->setCate_nome($cate_nome);
$this->setCate_slug($cate_nome);
// monto a SQL
$query = " UPDATE {$this->prefix}categorias ";
$query.= " SET cate_nome = :cate_nome, cate_slug = :cate_slug ";
$query.= " WHERE cate_id = :cate_id ";
// passo so parametros
$params = array(':cate_nome' => $this->getCate_nome(),
':cate_slug' => $this->getCate_slug(),
':cate_id' => (int)$cate_id,
);
// executo a minha SQL
if($this->ExecuteSQL($query, $params)):
return TRUE;
else:
return FALSE;
endif;
}
function Apagar($cate_id){
// verifico se tenho itens antes de apagar a categoria
$pro = new Produtos();
$pro->GetProdutosCateID($cate_id);
if( $pro->TotalDados() > 0):
echo '<div class="alert alert-danger" > Esta categoria tem: ';
echo $pro->TotalDados();
echo ' produtos. Não pode ser apagada, para apagar precisa primeiro apagar os produtos dela </div>';
// se nao tiver produtos nela eu apago
else:
// monto a SQL
$query = " DELETE FROM {$this->prefix}categorias";
$query.= " WHERE cate_id = :id";
// passo os parametros
$params = array(':id' => (int)$cate_id);
// executo a SQL
if($this->ExecuteSQL($query, $params)):
return TRUE;
else:
return FALSE;
endif;
endif;
}
//MÉTODOS GET
function getCate_nome() {
return $this->cate_nome;
}
function getCate_slug() {
return $this->cate_slug;
}
//MÉTODOS SET
function setCate_nome($cate_nome) {
$this->cate_nome = filter_var($cate_nome, FILTER_SANITIZE_STRING);
}
function setCate_slug($cate_slug) {
$this->cate_slug = Sistema::GetSlug($cate_slug);
}
}
?>Discussão (0)
Carregando comentários...