2012-03-06 10 views
1

速い質問!
PDOで2つの選択を実行し、同じループでそれらを実行するにはどうすればよいですか?
$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を実行します

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

:通過とproduktsテーブルに供給し、見つかったすべてのproduktidのために、各buyersを照会します

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

は、それが結合されます

+0

2つのテーブルの間に共通の列がありますか?あなたはデータを「結合する」または「結合する」ことができるかもしれませんが、類似点が必要です。 –

+0

はい、produkt IDはバイヤーのタブに記載されています。 – Flaashing

答えて

1

のようなものを想定すると、その結果また、それが製品上で買物を持って、それを逆にすることができます。例:

produkts一致に基づいて buyers詳細にもたらすでしょう
SELECT  p.*, b.* 
FROM   produkts p 
    LEFT JOIN buyers b 
    ON   b.produktid = p.produktid 

を。

これは、両方のテーブルがproduktidの列を共有していると私が言ったことが原因です。私はまだあなたが何をしているのかわかっていない、あるいはテーブルスキーマについてもう知っているので、もし私がオフになっていると私に知らせてください(そしてもっと多くの情報を提供します)。

+0

あなたのクエリが少し異なる結果を生成することを明確にするには – zerkms

+0

ありがとう私はそれを見て、それが私のクエリと一致するようになります、ありがとうalot :) – Flaashing

関連する問題