Ir para conteúdo

POWERED BY:

Arquivado

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

marcelo2605

[Resolvido] Dois autores para um mesmo livro

Recommended Posts

Tenho um banco de dados com três tabelas: livros, autores e aux. Esta última pega o id das duas para unir livros com seus respectivos autores.

 

Fiz isso para o caso de um livro ter dois ou mais autores.

 

A consulta que fiz foi:

 

SELECT autores.autor, livros.titulo
FROM aux, autores, livros
WHERE aux.livros_id = livros.id AND aux.autores_id = autores.id
ORDER BY livros.titulo ASC 

 

O problema é que no caso dois livros com dois autores, ele aparece duas vezes no resultado.

 

Como posso mostrar os dois autores para o mesmo livro?

 

Por ora, estou usando uma tabela simples:

 

<table border="1" cellpadding="1" cellspacing="1">
 <tr>
   <td>autor</td>
   <td>titulo</td>
 </tr>
 <?php do { ?>
   <tr>
     <td><?php echo $row_rsLivros['autor']; ?></td>
     <td><?php echo $row_rsLivros['titulo']; ?></td>
   </tr>
   <?php } while ($row_rsLivros = mysql_fetch_assoc($rsLivros)); ?>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro: Sem POST UP !

É contra as regras.

 

Segundo: Você postou a mesma duvida no Forum de Mysql.

Aguarde uma resposta lá ou caso o moderador julgue necessário, ele mudará o topico para o forum mais adequado.

 

Terceiro: Se ninguem respondeu, é porque estão ocupados, então tenha paciencia.

 

Mas se tivesse um pouco de boa vontade, teria pesquisado na documentação do Mysql teria visto que a opção Group By pode ser que se encaixe no seu problema.

sem falar que deve ter algumas dezenas de topicos com uma duvida semelhante a tua e com soluções parecidas: "agrupar produtos do mesmo fabricante" "Ordenar Livros por editora" ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vinicius:

 

Confesso que estou um pouco desesperado com o meu problema, daí ter postado a dúvida em duas áreas diferentes. O que não está completamente errado, pois o problema envolve tanto mysql quanto php.

 

Mas não diga que não tive "boa vontade" de ler a documentação. Guarde seus julgamentos para você.

 

GROUP BY não resolve o meu problema porque, se ordeno que sejam agrupados pelo nome do autor, o resultado apresenta apena um livro de cada autor.

 

O que eu preciso é que a consulta mostre que o mesmo livro tem dois autores diferentes. Por isso, acredito que a dúvida não seja mais no mysql e sim de php.

 

Quanto à pesquisar e outros tópicos, você tem razão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vinicius, mesmo assim o resultado da busca será sempre duas linhas para o mesmo livro, no caso de dois autores para um livro:

 

1 autor1 livro1

2 autor2 livro1

 

O que eu acho é que preciso de uma função php que na hora de mostrar os autores junte essas duas linhas em um resultado só.

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.