我有2個數據庫,第一個有10個條目(6列),第二個有100個條目(3列)。我想要做的是迭代遍歷第一個數據庫的一行,然後遍歷第二個數據庫的每一行。您可以在迭代第一個數據庫的同時迭代第二個數據庫嗎?
我想打印出類似這樣
echo $db1->col1, $db2->col1, $db2->col4
但不能確定如何通過第二DB迭代,同時通過第一迭代。
我有2個數據庫,第一個有10個條目(6列),第二個有100個條目(3列)。我想要做的是迭代遍歷第一個數據庫的一行,然後遍歷第二個數據庫的每一行。您可以在迭代第一個數據庫的同時迭代第二個數據庫嗎?
我想打印出類似這樣
echo $db1->col1, $db2->col1, $db2->col4
但不能確定如何通過第二DB迭代,同時通過第一迭代。
認爲您的第一個數據庫爲$ 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){
}
}
謝謝,那曾經工作過。 – Stev
當你在同一個數據庫服務器上,你可以做到以下幾點:
SQL解決方案
SELECT * FROM table1,table2
這會給你一個新的表,其中table1的每一行與table2的每一行連接在一起
我想你也可以用其他數據庫語言來做到這一點。
謝謝。上面的foreach解決方案解決了我的問題。 – Stev
你真的是2個數據庫?還是2桌? –
這可能是'JOIN'操作是你想要的。從你的問題中無法分辨出來。但JOIN是組合來自兩個表的數據的常用方式。我同意Mark Baker--當你說*數據庫*時,你可能認爲*表*。想象一個數據庫就像一個文件夾,表格作爲文件夾中的文件。 –
你的意思是你的第一個數據庫表$ db1的每一個循環都要循環遍歷$ db2行的所有行。對? –