2012-07-21 68 views
1

的一行我有兩個表:MySQL的JOIN一個表的多個行向其他表

Table 1: Articles (id, name, title, content) 
Table 2: Comments (id, comment, a_id) 

表2包含與表1中與該ID字段對應A_ID註釋,並且具有對於相同的若干行文章

我用下面的select語句:拋開

$result = mysql_query("SELECT * FROM articles a JOIN comments c ON a.id = c.a_id WHERE a.name='$a'"); 

$row = mysql_fetch_array($result); 
echo $row["title"]."<br/>".$row["content"]."<hr/>".$row["comments"] 

安全問題,這說明給定項目名稱美元的內容,但只給出了一個註釋時,應該b e多個。我必須做些什麼來獲得給定文章的所有評論才能顯示出來?不應該$ row [「評論」]是一個數組?

我要做的最終結果是一次顯示一篇文章,以及分配給給定文章的所有評論。目前我所得到的只有一篇文章和一篇(第一篇)評論,儘管表2中有多行,a_id字段的值相同

+1

將'mysql_select'替換爲'mysql_query' – Jocelyn 2012-07-21 02:20:20

+0

對,錯字,對不起。 – reformed 2012-07-21 02:23:03

回答

2

您必須在while循環中放置您的獲取:

$i=0; 
while($row = mysql_fetch_assoc($result)) 
{ 
    if(!$i) 
    { 
     echo $row["title"]."<br/>".$row["content"]."<hr/>"; 
     $i++; 
    } 
    echo $row["comment"] . "<hr />"; 
} 
+0

但是,這是一次只有一篇文章,只有一個標題和內容元素。使用while循環將顯示多個文章標題和內容,但我想要一篇文章顯示多個評論。 – reformed 2012-07-21 02:21:35

+1

@reformed,那麼你只能回顯第一行的標題和內容,對於後面的行,只能得到評論。看我最近的編輯。 – 2012-07-21 02:25:39

+0

作品。感謝更新。 – reformed 2012-07-21 02:50:28