2012-03-06 118 views
1

快問!
我如何執行2與PDO選擇並通過相同的循環運行它們?
$sql1 = $db->query("SELECT * FROM produkts");
$sql2 = $db->query("SELECT * FROM buyers");
$sql1->setFetchMode(PDO::FETCH_ASSOC);
$sql1->setFetchMode(PDO::FETCH_ASSOC);
while($row = $stmt->fetch() && $row1 = $stmt1->fetch()){
Something to be displayed
}
這顯然是行不通的,我不知道如何使它發揮作用。
這是如何執行的?PDO執行2個mysql選擇同一個循環

+0

兩張桌子之間是否有共同的列?您可能可以「加入」或「聯合」數據,但需要有相似之處。 – 2012-03-06 20:54:01

+0

是的,產品編號在買家表格中提到。 – Flaashing 2012-03-06 20:58:13

回答

1

假設是這樣的:

Buyers  Produkts 
---------- --------- 
buyerid .-produktid 
produktid-' [...] 
[...] 

您可以使用:

SELECT  b.*, p.* 
FROM   buyers b 
    LEFT JOIN produkts p 
    ON   p.produktid = b.produktid 

這將通過與查詢每個buyers然後在produkts表提供的,發現每produktid,將加入在結果中。您也可以扭轉它,它帶來的購買在產品:例如:

SELECT  p.*, b.* 
FROM   produkts p 
    LEFT JOIN buyers b 
    ON   b.produktid = p.produktid 

將在buyers細節根據produkts比賽帶來的。

這是通過你告訴我的,這兩個表共享一個produktid列。我仍然不知道你在追求什麼,也不知道更多關於表格模式的信息,所以如果我沒有告訴我(並提供更多信息)。

+0

要清楚你的查詢會產生一個稍微不同的結果 – zerkms 2012-03-06 21:07:29

+0

謝謝,我會看看它,並使其匹配我的查詢,非常感謝:) – Flaashing 2012-03-06 21:18:09