Wyciągam z bazy poniższym zapytaniem użytkowników, którzy mają dane usługi. Czasem się zdarza że dany użytkownik ma kilka usług. Następnie robię pętle, w której finalnie wysyłana jest wiadomość do każdego z użytkowników jakie ma usługi. Poniższy kod ma jedną wadę ponieważ jeżeli użytkownik ma np. 3 usługi to otrzyma 3 e-maile z każdą usługą. Próbowałem zmienić zapytanie SQL dodając
DISTINCT, następnie w pętli
for zrobiłem
foreach i teraz dany użytkownik faktycznie otrzymuje w jednym e-mailu informacje o wszystkich swoich usługach.
Problem pojawia się kiedy np. w bazie jest dwóch użytkowników to każdy z nich otrzyma informacje o wszystkich usługach, nie koniecznie o swoich więc nie wiem jak w pętli
foreach przypisać usługi do danego użytkownika.
SELECT Group_concat(p.email SEPARATOR ',') AS emails, Group_concat(s.service_name SEPARATOR ',') AS service_names FROM services s RIGHT JOIN persons p ON s.id_p = p.id
$email_explode = explode(',',$row['emails']); for($i=0; $i<count($email_explode); $i++)
$mail -> AddAddress($email_explode[$i]);