我有2个表,一个包含电子邮件地址,另一个包含每个电子邮件地址的行数:
Table 1:
1@gmail.com
2@gmail.com
etc
Table 2:
1@gmail.com,value111,value112,value113
1@gmail.com,value121,value122,value123
2@gmail.com,value211,value212,value213
etc.
我想向每个电子邮件地址发送其值,因此我收到了电子邮件:
$query = "SELECT email FROM email_table";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
$email = $row['email'];
然后,我需要获取每封电子邮件的值。 我尝试使用foreach但显然不是以正确的方式 有人可以帮忙吗?
非常感谢!
答案 0 :(得分:0)
$query = "SELECT * FROM email_table AS table1 LEFT JOIN table2 ON table2.email = table1.email";
<强> - 编辑 - 强> 澄清之后,您希望将表2中的信息附加到表1中的电子邮件地址,并发送电子邮件至表1 ...
$query = "SELECT table1.email, table2.* FROM email_table AS table1 LEFT JOIN table2 ON table2.email = table1.email";
此处的结果是表1中的电子邮件字段,表2中的所有信息都加在同一个电子邮件地址中。您不需要同时返回此处的电子邮件,因此在您的字段列表中,请输入类似于table2.*
的内容:
SELECT table1.email, table2.field1, table2.field2, table2.field3
然后你可以使用PHP的mail
发送到你从table1获得的电子邮件。
答案 1 :(得分:0)
您想要JOIN
。所以你的查询将如下所示:
SELECT * FROM table2 JOIN table1 ON (table2.email = table1.email);
Coding Horror对表之间的所有连接类型有很好的解释。