2017-07-07 30 views
1

我有一个PHP页面,我用来从数据库中获取信息,我需要的是发送它在一封电子邮件,但为每个结果一个新的电子邮件,而不是所有的信息我同一封电子邮件。这里是我的MySQL的PHP​​ scrtip发送MySQL结果到一个电子邮件与PHP邮件功能

<?php 
include 'myDB.php'; 

$sql = "this query is working perfectly "; 
$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)) { 
    echo "nombre del paquete: " . $row["nombre_del_paquete"]." 
    <srtong>precio total:</strong> " . $row["precio_total"]. " 
    " . $row["nombre"]. " 
    " . $row["apellido"]. " 
    " . $row["email"]. " 

    " . $row["submitted"]. "<br><br>"; 

     $header ="From: [email protected]" . "\r\n"; 
    $para = '[email protected]'; 
    $header .= "MIME-Version: 1.0\r\n"; 
    $header .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 
    $titulo = 'Newsletter'; 

    $message = '<html><body>'; 
    $message .= '<img src="https://world.bookinghello.com/PromoFB/img/hello_logo.png" alt="HELLO" />'; 
    $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>Nombre del paquete:</strong> </td><td>" . $row["precio_total"]."</td></tr>"; 
    $message .= "<tr><td><strong>Nombre del paquete:</strong> </td><td>" . $row["nombre"]."</td></tr>"; 
    $message .= "<tr><td><strong>Nombre del paquete:</strong> </td><td>" . $row["apellido"]."</td></tr>"; 
    $message .= "<tr><td><strong>Nombre del paquete:</strong> </td><td>" . $row["email"]."</td></tr>"; 

    $message .= "</table>"; 
    $message .= "</body></html>"; 



    if(mail($para, $titulo, $message, $header)){ 
    echo "successful"; 
       die(); 
    }else{ 
     echo "false"; 
    } 
} 
} else { 
echo "0 results"; 
} 


?> 

当我删除邮件选项我得到5个结果回声,当我添加的邮件选项我只得到1次的结果(第一个)和电子邮件与1个信息发送以及,想要得到5个不同的电子邮件

+1

构建的每一次迭代和'while'循环中发送一封电子邮件,所以它发送一个在数据中的每个记录? – David

+0

是的,我需要构建循环,并发送电子邮件为每个记录 –

回答

2

创建一个名为sendMail的方法并传递所需的值,这将在发送邮件时使用。

然后,调用sendMail

while($row = mysqli_fetch_assoc($result)) { 
    //your code 
    // Call sendMail 
    // some code 
} 
+0

你能请请给我一个完整的示例传递所需的值和发送电子邮件,我仍然基本与PHP和MySQL,在此先感谢 –

+0

我是不知道你想要什么解释,这是非常简单的。您需要创建一个方法并传递值,比如'to','from'和主体内容等。因为每次迭代都会得到一些结果,假设在该迭代中,您将具有'to'和'from'以及正文内容。所以,同样你需要通过方法 – Ravi

+0

我编辑我的问题,所以你可以看到我错了,发生了什么我只得到一个电子邮件witht只有1结果,实际上我有5个结果 –