私は本と著者のためのデータベースを持っています。これら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>