2017-10-12 38 views
-1

我有2個數據庫,第一個有10個條目(6列),第二個有100個條目(3列)。我想要做的是迭代遍歷第一個數據庫的一行,然後遍歷第二個數據庫的每一行。您可以在迭代第一個數據庫的同時迭代第二個數據庫嗎?

我想打印出類似這樣

echo $db1->col1, $db2->col1, $db2->col4

但不能確定如何通過第二DB迭代,同時通過第一迭代。

+3

你真的是2個數據庫?還是2桌? –

+1

這可能是'JOIN'操作是你想要的。從你的問題中無法分辨出來。但JOIN是組合來自兩個表的數據的常用方式。我同意Mark Ba​​ker--當你說*數據庫*時,你可能認爲*表*。想象一個數據庫就像一個文件夾,表格作爲文件夾中的文件。 –

+0

你的意思是你的第一個數據庫表$ db1的每一個循環都要循環遍歷$ db2行的所有行。對? –

回答

1

認爲您的第一個數據庫爲$ db1_results,第二個數據庫結果爲$ db2_results。

您需要的是,對於第一個數據庫的每個循環,您需要遍歷第二個數據庫的所有行。

這可以實現如下:

foreach($db1_results as $db1_result){ 
    /* Eg: db1 has 10 records and db2 has 1000 records. 
For every 1 iternation of $db1, you will loop 1000 records of your $db2 */ 
    foreach($db2_results as $db2_result){ 

    } 
} 
+0

謝謝,那曾經工作過。 – Stev

0

當你在同一個數據庫服務器上,你可以做到以下幾點:

SQL解決方案

SELECT * FROM table1,table2 

這會給你一個新的表,其中table1的每一行與table2的每一行連接在一起

我想你也可以用其他數據庫語言來做到這一點。

https://en.wikipedia.org/wiki/Join_(SQL)#Cross_join

+0

謝謝。上面的foreach解決方案解決了我的問題。 – Stev

相關問題