Мне нужно отправлять письма нескольким получателям с уведомлением об ожидающих их задачах.
Это массив для запроса отложенных задач для каждого получателя.
$pending = array(
"select * from user WHERE status='processing' and reason!='Out of island'",
"select * from user WHERE status='processing' and reason!='Out of island'", //DGM-HR
"select * from user WHERE status='new'", //DGM-ITAS
"select * from user WHERE status='processing' and reason='Out of island'", //Manager-HR
"select * from user where CRM_Status='pending'", //CRM-Eng
"select * from user where OSS_Status='pending'", //OSS-Eng
"select * from user where BSS_Status='pending'" //BSS-Eng
);
// Получить результаты каждого запроса и передать его в другой массив. Этот массив не работает.
$pending = implode("\r\n", $pending);
$result = array(
mysqli_query($dbcon,$pending)
);
// Получение результата и отправка письма соответствующему получателю. Но я еще не настроил получателя.
foreach($result as $result1)
{
if(!$result1)
{
die('Could not get data: ' . mysqli_error());
}
else
{
foreach($result1 as $count)
{
$count= mysqli_num_rows($result1);
$mail->addAddress('to_mail', 'to'); //Only for single recipient
$mail->Subject = 'Notification: User Management System';
$mail->Body = 'Dear User, <br> <br>You have '.$count.' records which is pending for your approval.<br> Please engage for the relevant tasks.<br><br>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
}
}
}
Вместо выполнения нескольких запросов и запросов к БД, просто запустите общий запрос и отфильтруйте результаты, чтобы ускорить доступ. Если у вас есть массивы для общего запроса, вы можете делать все, что захотите
Других решений пока нет …