Olá! Boa noite! Estou tendo dificuldades para agrupar dados em uma tabela cujo os dados vêm do mysql para o html. Tenho os seguinte esquema de tabela:
![Imagem Colocada]()
Eu modelei o meu bd exatamente como o esquema acima, o que eu quero é o seguinte: preciso montar uma tabela mostrando o livro, o autor e o número de páginas do livro, e o livro que tiver mais de um autor eu devo coloca-los na mesma célula na saída da tabela html. Eu tenho o seguinte código no qual eu gero a tabela
Código :
Mas dessa maneira que eu fiz, eu não consigo agrupar o os autores de um mesmo livro em uma única célula da saída da tabela html, eles saem em células separadas. Como eu posso agrupar os autores que escreveram um mesmo livro em uma única célula? Por exemplo, vamos supor que o resultado da minha consulta SQL seja o seguinte:
Nome do Livro Autor
O amor José Ulal
O amor Carlos andre
Como que eu faço para gerar uma tabela HTML que me retorne o seguinte:
Nome do Livro Autor
O amor José Ulal Carlos Andre
Ou seja, ele pegou os autores, agrupou e colocou para somente um único livro. Alguém pode me ajudar?

Eu modelei o meu bd exatamente como o esquema acima, o que eu quero é o seguinte: preciso montar uma tabela mostrando o livro, o autor e o número de páginas do livro, e o livro que tiver mais de um autor eu devo coloca-los na mesma célula na saída da tabela html. Eu tenho o seguinte código no qual eu gero a tabela
Código :
!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<?php
include "connect.php";
//seleção do banco de dados
$lista = "SELECT livro.titulo,livro.Paginas,autor.Anome,genero.nome
FROM livro inner join genero
on livro.id_genero = genero.id
inner join autor_livro on livro.id = autor_livro.id_livro
inner join autor on autor_livro.id_autor= autor.id group by livro.titulo ASC ";
// realização da consulta
$consulta = mysqli_query($conexao,$lista);
//construção da estrura da table
echo '<table border = 1>';
echo '<tr>';
echo '<td>Título</td>';
echo '<td>Autor</td>';
echo '<td>Gênero</td>';
echo '<td>Nº de Páginas</td>';
echo '</tr>';
// Armazena os dados da consulta em um array associativo
while($registro = mysqli_fetch_assoc($consulta)){
echo '<tr>';
echo '<td>'.$registro["titulo"].'</td>';
echo '<td>'.$registro["Anome"].'</td>'; //Nome do autor
echo '<td>'.$registro["nome"].'</td>'; //Nome do Gênero
echo '<td>'.$registro["Paginas"].'</td>';
echo '</tr>';
}
echo '</table>';
<html>
<head>
<meta charset="utf-8">
<?php
include "connect.php";
//seleção do banco de dados
$lista = "SELECT livro.titulo,livro.Paginas,autor.Anome,genero.nome
FROM livro inner join genero
on livro.id_genero = genero.id
inner join autor_livro on livro.id = autor_livro.id_livro
inner join autor on autor_livro.id_autor= autor.id group by livro.titulo ASC ";
// realização da consulta
$consulta = mysqli_query($conexao,$lista);
//construção da estrura da table
echo '<table border = 1>';
echo '<tr>';
echo '<td>Título</td>';
echo '<td>Autor</td>';
echo '<td>Gênero</td>';
echo '<td>Nº de Páginas</td>';
echo '</tr>';
// Armazena os dados da consulta em um array associativo
while($registro = mysqli_fetch_assoc($consulta)){
echo '<tr>';
echo '<td>'.$registro["titulo"].'</td>';
echo '<td>'.$registro["Anome"].'</td>'; //Nome do autor
echo '<td>'.$registro["nome"].'</td>'; //Nome do Gênero
echo '<td>'.$registro["Paginas"].'</td>';
echo '</tr>';
}
echo '</table>';
Mas dessa maneira que eu fiz, eu não consigo agrupar o os autores de um mesmo livro em uma única célula da saída da tabela html, eles saem em células separadas. Como eu posso agrupar os autores que escreveram um mesmo livro em uma única célula? Por exemplo, vamos supor que o resultado da minha consulta SQL seja o seguinte:
Nome do Livro Autor
O amor José Ulal
O amor Carlos andre
Como que eu faço para gerar uma tabela HTML que me retorne o seguinte:
Nome do Livro Autor
O amor José Ulal Carlos Andre
Ou seja, ele pegou os autores, agrupou e colocou para somente um único livro. Alguém pode me ajudar?