我有以下代码来选择事件,用户和子用户,并在子用户创建新事件时向用户发送电子邮件。
$result_m = mysqli_query($db, $query_mail) or die(mysqli_error());
while ($re4 = mysqli_fetch_array($result_m, MYSQLI_ASSOC))
{
$ajdi = $re4["pid"];
$name1 = $re4["name"];
$surname1 = $re4["surname"];
$email1 = $re4["email"];
$mob = $re4["mob"];
$titl1 = $re4["title"];
$zip1 = $re4["zip"];
$city1 = $re4["city"];
$address1 = $re4["address"];
$insurance1 = $re4["insurance"];
$born1 = $re4["born"];
$receiver = $re4["demail"];
$content= "<p><img src='$logo'></p>";
$content.= "<p><br/>Name: $name1 $surname1, Born: $born1, Insurance: $insurance1<br/>$address1, $city1 $zip1, Tel: $mob, Email: $email1</p>";
$title= "Mail title";
$content.= "<p>Footer message</p>";
$headers = array();
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-type: text/html; charset=utf-8";
$headers[] = "From: no-reply@test.com";
if ($receiver!= "")
{
mail($receiver, $title, $content, implode("\r\n", $headers));
}
}
这也包含在另一个获取所有事件的while循环中。 当用户创建事件时,此用户会收到电子邮件,但如果有更多事件,则会收到每个事件的电子邮件。 如何向用户发送一封包含所有已创建事件的电子邮件?
例如,当我echo "$receiver<br>$content<br>";
时,我得到:
email@email.com
Some content
email@email.com
Some content2
email2@email.com
Some content
email2@email.com
Some content2
但我需要这样:
email@email.com
Some content
Some content2
email2@email.com
Some content
Some content2
如何实现这一目标?谢谢
UPDATE(根据Erwin Moller回答的数组)
Array
(
[mail1@email.com] =>
22.07.2015., 08:30 Uhr
)
Array
(
[mail1@email.com] =>
23.07.2015., 08:15 Uhr
)
Array
(
[mail1@email.com] =>
09.09.2015., 14:45 Uhr
)
Array
(
[mail1@email.com] =>
03.08.2015., 14:40 Uhr
)
Array
(
[mail1@email.com] =>
03.08.2015., 11:40 Uhr
)
Array
(
[mail1@email.com] =>
03.08.2015., 14:20 Uhr
)
Array
(
[mail2@email.com] =>
30.07.2015., 15:40 Uhr
)
Array
(
[mail2@email.com] =>
24.07.2015., 14:00 Uhr
)
Array
(
[mail3@email.com] =>
24.07.2015., 14:00 Uhr
)
Array
(
[mail3@email.com] =>
30.07.2015., 15:40 Uhr
)
答案 0 :(得分:2)
您可以通过几种方式解决此问题。
一个简单的方法是: 不要发送电子邮件,但首先将它们全部存储在一个数组中,使用电子邮件地址作为密钥。
这样的事情:
{{1}}
答案 1 :(得分:0)
我认为您的问题可以通过以下方式解决
在您的选择查询中添加GROUP BY
并合并所有内容
即SELECT email,"Merged Content" FROM your_table_name GROUP BY email
注意: - 此合并内容您必须根据您的要求进行格式化
然后只是遍历查询结果并发送电子邮件&#39; s