我在我的数据库中有2个表,我做了一个查询来验证两个表中是否没有电子邮件地址,列出所有用户,现在该电子邮件是我用来验证用户是唯一的。我运行我的脚本,它工作完美,我做一个回声,我得到10次迭代(10个不同的用户,电子邮件不重复)。现在我需要为每次迭代发送一封电子邮件,问题是当我添加我的邮件功能时,我只收到1个用户,只发送了1封电子邮件,错过了9个用户。我怎样才能完成10个用户,每个用户10封电子邮件。
<?php
include 'myDB.php';
$sql = " query works fine ";
$result = mysqli_query($conn, $sql);
//var_dump($result);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
foreach ($row as $key => $gtm) {
$message .= $gtm;
$header ="From: no-reply@testme.com" . "\r\n";
$para = 'web2@tesy.com';
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$titulo = 'Mailing list Newsletter';
$message = '<html><body>';
$message .= '<br/> <p>El siguiente usuario abandono el la compra de un paquete en booking hello </p><br/>';
$message .= '<table rules="all" style="border-color: #666;" cellpadding="2">';
$message .= "<tr><td><strong>Nombre del paquete:</strong> </td><td>" . $row["nombre_del_paquete"]."</td></tr>";
$message .= "<tr><td><strong>Precio Total del paquete:</strong> </td><td>". $row["precio_total"]."</td></tr>";
$message .= "<tr><td><strong>Nombre:</strong> </td><td>" . $row["nombre"]. "</td></tr>";
$message .= "<tr><td><strong>Apellido:</strong> </td><td>" . $row["apellido"]."</td></tr>";
$message .= "<tr><td><strong>Email:</strong> </td><td>" . $row["email"]. "</td></tr>";
$message .= "</table>";
$message .= "</body></html>";
if(mail($para, $titulo, $message, $header)){
echo "recorded successfully";
die();
}else{
echo "false";
}
}
}
} else {
echo "0 results";
}
?>
现在,当我添加邮件功能时,我只获得1个用户(1个),如果我删除邮件功能并做回声我确实得到了所有用户(10)
答案 0 :(得分:3)
删除die()
:
foreach ($row as $key => $gtm) {
// more cod here:
// your problem is in this if:
if(mail($para, $titulo, $message, $header)){
echo "recorded successfully";
// die(); this stops the execution
}else{
echo "false";
}
}