2013-06-21 57 views
0

所以即時將我的查詢移動到PDO,並即時學習一步一步。PDO查詢幫助

我想通購買試驗和錯誤,不像在師範學校mysql_你不能在一段時間等

做了一段時間,所以我嘗試連接表中查詢得到預期的結果。

下面的查詢工作

$data = $conn->query('SELECT nieuws.id, nieuws.titel, nieuws.intro, nieuws.inhoud, nieuws.datum, nieuws.auteur, nieuws.categorie, nieuws.tags,nieuws.plaatje, nieuws.plaatje_url,nieuws.mp3,nieuws.mp3_url,nieuws.youtube,nieuws.youtube_url, reacties.id, reacties.nieuwsid, reacties.submitter,reacties.reactie 
FROM nieuws 
INNER JOIN reacties 
ON nieuws.id = reacties.nieuwsid 
ORDER BY reacties.nieuwsid DESC LIMIT 3 
'); 

然而,這僅僅返回1項,我想查詢返回所有的 「呼號」 entrys和corrosponding 「reacties」(基於ID)

翻譯荷蘭語單詞爲英語:Nieuws = news,reacties = comment

因此,它需要獲取id1與所有數據爲例,並且還得到nieuwsid1數據。 然後做到這一點對所有IDX導致

$data = $conn->query('SELECT * FROM nieuws ORDER BY id DESC limit 3'); 

得到所有的新聞,howver我沒有任何反應,因爲即時通訊越來越文章等在

foreach($data as $row)  

循環我無法啓動第二個foreach是對的?

+0

你爲什麼不呢?該查詢已執行,您正在使用PDO返回的結果集,隨時可以再次查詢。然而,JOIN會更適合你的情況...只要你的查詢,如果需要的話,使用'GROUP_CONCAT' ... –

回答

1

嗯,你使用的是INNER JOIN,它只返回表B中有條目的條目,所以如果「新聞」條目沒有任何評論,它將不會被返回。您想要的是LEFT OUTER JOIN

+0

thnx格雷格,你可以詳細說明左外部連接,谷歌似乎並不想要今天有幫助。 – defiancenl

+0

我一直髮現這是有幫助的 - http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html –

+0

我已經找到了另一個鏈接,將會讀取你的太tho ... thnx男人離開外部聯接是關鍵 – defiancenl