Отправить письмо нескольким пользователям с запросом и с уникальным столбцом

Я пытаюсь отправить электронное письмо пользователям из запроса mysql и включить другой столбец (сотрудник) в $message (тело) электронного письма, которое соответствует этой строке таблицы:

Таким образом, bob@test.com должен получать электронную почту только с `employee1,employee2,employee3 в email..etc...

Этот скрипт вместо этого будет отправлять по электронной почте все строки в каждом письме.

 `employee | email`
 `employee1,employee2,employee3 | bob@test.com`
 `employee4,employee5,employee6 | steve@test.com`
 `employee7,employee8,employee9 | jim@test.com`

Script:
mysql_connect("localhost", "xx", "xx") or die(mysql_error());
mysql_select_db("Joomla") or die(mysql_error());

$query = sprintf("select GROUP_CONCAT(DISTINCT(e.`name`)) AS employee, 
m.name as manager, email, r.week,r.year,r.manager_approved, r.Date
from peg_users e
left JOIN peg_users m ON e.manager = m.id
left JOIN project_tracker_tool_finance_report r ON m.id = r.manager
where e.project_tracker_user = 1 AND r.manager_approved = 'NO' 
AND CONCAT(r.year,r.week,'') = YEARWEEK(NOW()) -2
GROUP BY m.name
order by m.name
limit 2");
//$email = "to@domain.com"; 
$result = mysql_query($query);

while($row=mysql_fetch_array($result)) { 
$email = $row['email'];
$from_email = "masked";
$emailcc = "masked"; 
//$emailcc = "";
$subject = "Project Time Tracker - Employees Overdue"; 
$headers = "From: $from_email" . "\r\n" . "CC: $emailcc"; 

$body .= " \n "
."Following are the people whoes subscription will expire tomorrow"." \n "." 
\n "
."First Name : ".$row['employee']." \n "
."\n". "\n". "==============================". "\n"; 
} 

// send email 
if(mysql_num_rows($result) > 0)
{

$send = mail($email, $subject, $body, $headers); 
}
mysql_close($conn); 

1 ответ

Вы можете попробовать использовать два SQL-запроса вместо одного.

В первом запросе получите все основные электронные письма, которые вы хотите, такие как bob@test.com, jim@test.com и т. Д.

Получив все эти идентификаторы электронной почты, выполните второй запрос, чтобы получить данные для тела почтового сообщения, используя предложение where с основным идентификатором электронной почты.

Надеюсь, что это поможет вам.

Другие вопросы по тегам