Ir para conteúdo

POWERED BY:

Arquivado

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

aletres

Consulta de duas tabelas.

Recommended Posts

Por exemplo, tenho um site com cadastro de músicos.

 

Tabela: Cadastro

Tabela: Estilo Musical

 

Quero exibir uma lista com o nome do cadastrado e o Estilo que toca:

 

Alexandre MPB (Id 1)

Rafael Rock (Id 22)

Alessandra Reggae (Id 8)

 

Como faço para fazer um SELECT do cadastro, consultado o ID do ESTILO mas exibindo o Nome do estilo automaticamente?

 

Exemplo: em vez de Alexandre - Id 1 ------> Alexandre - MPB

 

 

Desde já agradeço.

 

Alexandre

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo bem aletres,

 

Dê uma olhada nesse tópico, com muita explicação sobre o assunto: http://forum.imasters.com.br/index.php?showtopic=248517

Você precisa fazer um INNER JOIN com as duas tabelas, usando os campos em comum entre elas!!

 

Qualquer dúvida, continue postando!!

 

Abração!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não consegui!

 

Olha só:

 

$resultado = mysql_query('SELECT * FROM hp_cad_g INNER JOIN hp_cad_g_categoria ON hp_cad_g.cad_g_categoria = hp_cad_g_categoria.cad_g_categoria_id ORDER BY hp_cad_g.cad_g_categoria ASC');

Como falo pra exibir o NOME da categoria da segunda tabela, em vez do id???

 

Agradeço a ajuda.

 

Alexandre

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT b.NOME
FROM hp_cad_g AS a INNER JOIN hp_cad_g_categoria AS b 
ON a.cad_g_categoria = b.cad_g_categoria_id 
ORDER BY a.cad_g_categoria ASC

 

Tente isso e me fale se deu certo!!

 

Abracão!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não consegui!

 

Olha só:

 

$resultado = mysql_query('SELECT * FROM hp_cad_g INNER JOIN hp_cad_g_categoria ON hp_cad_g.cad_g_categoria = hp_cad_g_categoria.cad_g_categoria_id ORDER BY hp_cad_g.cad_g_categoria ASC');

Como falo pra exibir o NOME da categoria da segunda tabela, em vez do id???

 

Agradeço a ajuda.

 

Alexandre

 

Onde fica armazenado o nome da categoria? pelo que eu li você ta exibindo somente os dados de 1 tabela ('SELECT * FROM hp_cad_g) ve se não é isso que ta te confundindo:

 

SELECT hp_cad_g.*, tabela.Nome_Categoria FROM hp_cad_g INNER JOIN ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pessoal.Agora entendi e descobri o que faltava:

$resultadoGrupo = mysql_query(' SELECT hp_cad_g.*,hp_cad_g_categoria.* FROM hp_cad_g INNER JOIN hp_cad_g_categoria ON hp_cad_g.cad_g_categoria = hp_cad_g_categoria.cad_g_categoria_id');if(!$resultadoGrupo){ die("Erro na solicitação de query [2]: " . mysql_error() . '<br>');}if(mysql_num_rows($resultadoGrupo) == 0){ echo("<tr><td>Não há grupos cadastrados até o momento. Cadastre agora, clicando no link abaixo:</td><td></td></tr>");} else { while($row = mysql_fetch_array($resultadoGrupo)){ $cad_g_id = $row['cad_g_id']; $cad_g_nome = $row['cad_g_nome']; $cad_g_categoria = $row['cad_g_categoria_nome']; $cad_g_estilo = $row['cad_g_estilo'];

Faltava passar a $row declarada na SELECT pra uma variável. http://forum.imasters.com.br/public/style_emoticons/default/clap.gif OBRIGADO A TODOS QEU COLABORARAM!!!Mas, abusando da boa vontade, agora que está funcionando, Preciso que o CADASTRO verifique também o ESTILO MUSICAL, além da CATEGORIA já resolvida. Como faço pra cruzar 3 tabelas ao mesmo tempo?Valeu gente!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ATÉ QUE ENFIM! CONSEGUIIIIIII!!!!!!

 

$resultadoGrupo = mysql_query('	SELECT hp_cad_g.*,hp_cad_g_categoria.*,hp_cad_g_estilo.* 	FROM hp_cad_g 	INNER JOIN hp_cad_g_categoria,hp_cad_g_estilo 	ON hp_cad_g.cad_g_categoria = hp_cad_g_categoria.cad_g_categoria_id AND hp_cad_g.cad_g_estilo = hp_cad_g_estilo.cad_g_estilo_id');if(!$resultadoGrupo){	die("Erro na solicitação de query [2]: " . mysql_error() . '<br>');}if(mysql_num_rows($resultadoGrupo) == 0){	echo("<tr><td>Não há grupos cadastrados até o momento. Cadastre agora, clicando no link abaixo:</td><td></td></tr>");} else {	while($row = mysql_fetch_array($resultadoGrupo)){		$cad_g_id = $row['cad_g_id'];		$cad_g_nome = $row['cad_g_nome'];		$cad_g_categoria = $row['cad_g_categoria_nome'];		$cad_g_estilo = $row['cad_g_estilo_nome'];

OBRIGADO A TODOS E DOU ESTE TÓPICO COMO ENCERRADO! http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif

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.