私は本と著者のためのデータベースを持っています。これら2つのエンティティ間の関係は多対多であるため、それらの間に共同テーブルがあります。
booksはbooks.book_idプライマリ、authors.author_idプライマリと同じであり、ジョイントテーブルbook_authorsには:book_authors.book_idとがありbook_authors.author_idます。各本には複数の著者がいます。
私がやろうとしているのは、各本を1行で表示し、その下に次のように表示するphpページを作成することです。author1:....、author2(該当する場合)
私は自分のphpを次のように見せたいです:
Book Name: THE BOOK NAME
Author(s): joe- John- Sara
次のコードを使用しましたが、問題は単一の結果で返されることです。したがって、book1が複数の著者によって作成されている場合、別の作成者と一緒に毎回複数回表示されます。私がやろうとしているのは、各本に続いて一連の著者を取得することです
<html>
<body>
<?php
$con = mysql_connect("localhost","myusername","mypassword");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("mydb", $con);
$result1 = mysql_query("
    SELECT books.title, authors.fname, authors.lname 
    FROM books, book_authors, authors  
    WHERE books.book_id = book_authors.book_id 
    AND authors.author_id=book_authors.author_id");
while($row = mysql_fetch_array($result1))
  {
print "<h3>Book Name:</h3>";
  echo $row ['title'];
print "<br />";
print "Author(s):";
  echo $row ['fname'];
  echo $row ['lname'];
  echo "<br />";
  }
mysql_close($con);
?>
</body>
</html>