2015-07-12 23 views
0

嗨使用PHP郵件從DB發送消息>然而,下面的代碼,我從一個查詢中得到多個電子郵件。因此,如果查詢有10個結果,我會收到10封電子郵件。如何解決這個問題。謝謝PHP郵件發送MYSQL查詢

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = "password"; 
$dbname = "test"; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
die("Connection failed: " . mysqli_connect_error()); 
} 

$sql = "SELECT stimee, pango,kembo FROM layla"; 

$result = mysqli_query($conn, $sql); 

if (mysqli_num_rows($result) > 0) { 
    // output data of each row 
    while($row = mysqli_fetch_assoc($result)) { 



    $msg = "Time: " . $row["stimee"]. " - pango: " . $row["pango"]. " " . $row["kembo"] . "<br>"; 


    $msg = wordwrap($msg,70); 
    $headers = 'MIME-Version: 1.0' . "\r\n"; 
    $headers .= 'From: Benge Man <[email protected]>' . "\r\n"; 
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 


    mail("[email protected]","Notification",$msg,$headers); 

    } 
    } else { 
    echo "0 results"; 
    } 

mysqli_close($conn); 
?> 
+0

移動'mail'的'while'循環之外。將'$ headers'移到外部,然後使用'$ msg'連接。 – chris85

+0

mail命令在你的循環中。你需要在while循環中將maildata累加到一個數組中,然後在循環外使用'mail' – amdixon

回答

2

在循環內部構造消息,但之後發送郵件。這樣,你會得到一封包含所有數據的郵件。

$msg = ""; 
if (mysqli_num_rows($result) > 0) { 

    // append data of each row to $msg. 
    while($row = mysqli_fetch_assoc($result)) { 
    $msg .= "Time: " . $row["stimee"]. " - pango: " . $row["pango"]. " " . $row["kembo"] . "<br>"; 
    } 

    // After all the rows are fetched, send the message. 
    $msg = wordwrap($msg,70); 
    $headers = 'MIME-Version: 1.0' . "\r\n"; 
    $headers .= 'From: Benge Man <[email protected]>' . "\r\n"; 
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

    mail("[email protected]","Notification",$msg,$headers); 
} else { 
    echo "0 results"; 
} 
0

您必須將郵件發送你的循環之外是這樣的:

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = "password"; 
$dbname = "test"; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
die("Connection failed: " . mysqli_connect_error()); 
} 

$sql = "SELECT stimee, pango,kembo FROM layla"; 

$result = mysqli_query($conn, $sql); 

if (mysqli_num_rows($result) > 0) { 
    // output data of each row 
    while($row = mysqli_fetch_assoc($result)) { 



$msg = "Time: " . $row["stimee"]. " - pango: " . $row["pango"]. " " . $row["kembo"] . "<br>"; 


$msg = wordwrap($msg,70); 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'From: Benge Man <[email protected]>' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 




    } 
mail("[email protected]","Notification",$msg,$headers); 
    } else { 
    echo "0 results"; 
    } 

mysqli_close($conn); 
?>