Мой запрос ниже получит последние 3 активных потока из commnets моего блога,
SELECT ID, Approved, RecipientID, RecipientScreenname, RecipientEmail FROM ( SELECT root_strings.str_id as ID, root_strings.str_approved as Approved, root_strings.mem_id as RecipientID, root_members_cfm.mem_screenname as RecipientScreenname, root_members_cfm.mem_firstname as RecipientFirstname, root_members_cfm.mem_email as RecipientEmail FROM root_strings LEFT JOIN root_members_cfm ON root_members_cfm.mem_id = root_strings.mem_id WHERE root_strings.parent_id = '1' AND root_strings.mem_id IS NOT NULL UNION ALL SELECT root_strings.str_id as ID, root_strings.str_approved as Approved, root_strings.mem_id as RecipientID, root_users.usr_screenname as RecipientScreenname, root_users.usr_firstname as RecipientFirstname, root_users.usr_email as RecipientEmail FROM root_strings LEFT JOIN root_users ON root_users.usr_id = root_strings.usr_id WHERE root_strings.parent_id = '1' AND root_strings.usr_id IS NOT NULL ) SQ ORDER BY ID DESC LIMIT 0,3
Он возвращает результат, подобный этому,
ID Approved RecipientID RecipientScreenname RecipientEmail 14 1 3 xx@yahoo.co.uk 13 n/a NULL yy@yahoo.co.uk 13 n/a NULL yy@yahoo.co.uk
Затем я отправлю электронное письмо каждому из них.
foreach($items_thread as $item_thread) { $sentmail = mail($item_thread['RecipientEmail'],$email_subject,$email_content,$email_headers); }
Но логика неверна, когда вы смотрите ближе, поскольку я отправлю y
два раза по электронной почте!
y
должен просто получить одно электронное письмо. Как это исправить? Должен ли я исправить SQL-запрос или PHP-код?