2017-10-12 35 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

相关问题