2012-03-06 51 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