2017-01-29 2 views
0

Я застрял, пытаясь повторить несколько строк из базы данных MySql в часть сообщения $ сообщения электронной почты. Вложенный код возвращает только один результат.Как эхо несколько строк с помощью mail()?

Я хочу отправить 1 электронное письмо, по электронной почте я хочу вывести 10 строк из SQL-запроса. Фактически я получаю то же письмо десять раз в разное время, а не одно электронное письмо с десятью строками.

$sql = "SELECT * FROM stoic_quotes Order By rand() Limit 0,10"; 
$result = $conn->query($sql); 

while($row = $result->fetch_assoc()) { 
    $to  = '[email protected]'; 
    $subject = 'Daily Stoic Email'; 
    $message = $row["Maxim"]. "</br>"; 
    $headers = 'From: [email protected]' . "\r\n" . 
     'Reply-To: [email protected]' . "\r\n" . 
     'X-Mailer: PHP/' . phpversion(); 

    mail($to, $subject, $message, $headers); 
} 
+0

* «Как эхо несколько строк с помощью почты()?» * - А? 'mail()' не знает, как выглядит ваш db; название неясно. –

+0

вам нужно заменить строку '$ to' на строку электронной почты; Я считаю, что вы хотите сделать это, отправив нескольким получателям, верно? –

+0

Извините, я не имел в виду, что $ row ["Maxim"] возвращает только один результат, когда я получаю электронное письмо. – Teege

ответ

0

Перемещение почтового вызова из цикла

// don't select all (*) fields if you only need one 
$sql = "SELECT Maxim FROM stoic_quotes Order By rand() Limit 0,10"; 

$result = $conn->query($sql); 

$message = ''; 

while($row = $result->fetch_assoc()) { 
    $message .= $row["Maxim"]. "</br>"; 
} 

// prepare email headers 
$to  = '[email protected]'; 
$subject = 'Daily Stoic Email'; 
$headers = 'From: [email protected]' . "\r\n" . 
      'Reply-To: [email protected]' . "\r\n" . 
      'X-Mailer: PHP/' . phpversion(); 

// then send 
mail($to, $subject, $message, $headers); 
+0

Спасибо, прекрасно работает. – Teege

0

Я не проверял код, но дать этому попытку:

$to  = '[email protected]'; 
$subject = 'Daily Stoic Email'; 

$sql = "SELECT * FROM stoic_quotes Order By rand() Limit 0,10"; 
$result = $conn->query($sql); 
while($row = $result->fetch_assoc()) { 
$message = $row["Maxim"]. "</br>"; 
} 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headers); 

я поместил в, при условии, заголовка и почты из цикла.

Cheers

Смежные вопросы