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

Relacionar Tabelas - Dúvida


Bornai

Pergunta

Olá pessoal, tenho um site de venda online, e um menu de Categorias dos meus produtos, a cada categoria listada, o total de produtos dessa categoria deve aparecer dentro do parenteses ( ). Veja abaixo:

dsR27Sd.png

No meu banco de dados tenho duas tabelas, chamada "produtos" e "categorias". Dentro da tabela produtos existe um campo chamado categorias_id, que foi relacionado a tabela categorias que contém os campos "id" e "nome". Veja:

4IfjrbE.png

O problema agora é a parte do código, como fazer para mostrar o total de produtos da categoria X aparecer lá no meu menu?

Obrigado desde já

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Tomando este exemplo e executando a consulta pelo PHP, consegues obter o total de produtos de uma determinada categoria da seguinte forma:

$query = "SELECT `Categoria`.`nome`, COUNT(*) AS 'total' 
          FROM `Produto` INNER JOIN `Categoria`
          ON `Produto`.`id_categoria` = `Categoria`.`id`
          GROUP BY `id_categoria`";

$result = mysqli_query($conn, $query);
while ($row = mysqli_fetch_assoc($result)) { 
   //mysql_fetch_assoc devolve um array associativo
  //$row['nome'] contém a categoria e $row['total'] o total de produtos dessa categoria.
}

Espero ter ajudado.

Editado por wootzor
Link para o comentário
Compartilhar em outros sites

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...