我有書籍和作者的數據庫。這兩個實體之間的關係是多對多的,所以它們之間有一個聯合表。php mysql數組結果問題
books
具有books.book_id
伯,authors.author_id
作爲初級和關節表book_authors
具有:book_authors.book_id
和book_authors.author_id
。每本書都有一個以上的作者。
我所試圖做的是有一個PHP頁面,顯示然後在每本書的一條線,它說:作者1:......,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>
那是因爲,你在你的查詢中使用'集團By'。請先遵循一些'SQL'教程。 –
你可以var_dump這個查詢的輸出示例嗎? – Ollie
@HamzaWaqas我參加了這個團隊,我得到的是每本書每次都有一位作者列出。 –