Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alvarogtc

Exibir resultados por categoria

Recommended Posts

Pessoal, estou tentando fazer uma busca, mas tenho tentando de varias formas e nao encontrei o caminho correto.

 

Basicamente seria, tenho o seguinte

 

tbcategorias (cat_id, cat_nome)

tbeventos (eve_id, cat_id, eve_nome)

 

oque estou tentando fazer é ao fazer meu select que fosse listado os resultados da seguinte forma.

 

digamos que tenho 2 categorias, entao seria listado as 2 categorias e os respectivos eventos de cada uma, agrupados pela categoria.

 

Cat_Nome (a)

eve_nome (1)

eve_nome (2)

 

Cat_Nome (B)

eve_nome (1)

eve_nome (2)

 

É como se eu agrupasse por Categoria pra depois separar e exibir, como nunca tive esse tipo de situação estou bem perdido.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
$sql   = "SELECT `tbcategorias`.*, `tbeventos`.* FROM `tbeventos` INNE JOIN `tbcategorias` ON `tbeventos`.`cad_id` = `tbcategorias`.`cat_id`";
$query = mysql_query($sql) or die(mysql_error());
?>

 

Para aprender sobre o exemplo acima, veja.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas nesse caso relacionar as tabelas não resolve meu problema, fazer o relacionamento eu sei.

 

mas oque quero fazer é agrupar por categoria e exibir separado.

 

conforme disse

 

Categoria 1

evento a

evento b

 

Categori 2

evento c

evento d

 

Usando apenas o join eu simplifico a consulta pra exibir o nome da categoria ja nos resultados, pelo menos pelo que eu sei fazer é por esse lado.

 

Se eu fizer

 

$Sql = "SELECT tabeventos.*, tabcategorias.Categoria_Nome FROM tabeventos INNER JOIN tabcategorias ON tabeventos.Categoria_Id = tabcategorias.Categoria_Id ORDER BY Evento_Id DESC LIMIT 0,4";

 

eu teria

Evento 3 - categoria nome (cat 1)

Evento 2 - categoria nome (cat 1)

Evento 1 - categoria nome (cat 2)

 

Oque estou tentando

 

cat 1

Evento 3

Evento 2

 

cat 2

Evento 1

 

Vlw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite amigo,

 

Se não estou enganado não há como fazer o que você quer. Pois pra cada evento que ele trouxer vai trazer a categoria também na linha da consulta.

 

Tu só poderá fazer via programação isso, um SELECT nas categorias que fique rodando um looping, e dentro desse looping outro SELECT pros eventos dessa categoria.

 

Fico a disposição, abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tbcategorias (cat_id, cat_nome)
tbeventos (eve_id, cat_id, eve_nome)

 

SELECT tbcategorias.cat_nome , tbeventos.eve_nome
FROM tbcategorias  , tbeventos 
WHERE tbcategorias.cat_id  , tbeventos.cat_id
ORDER BY tbcategorias.cat_nome , tbeventos.eve_nome

 

Pelo que entendi.

 

Se a questão for exibição, isto deve ser feito na aplicação (camada de interface).

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.