Neues Mailing an Gruppe und zwei Admin-Accounts

PHP Newsletter Software/Script und E-Mail-Marketing Software SuperWebMailer

Moderator: mirko

Antworten
tBlanken
Beiträge: 3
Registriert: 09.07.2009, 18:16

Beitrag von tBlanken »

Jups - habe es gerade hochgeladen und kurz getestet - das sieht doch schon netter aus :-)
Fazit: Zu versendende Mails um mehr als 90% reduziert und nur noch eine Mail pro Kunde
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Ich habe ein LEFT JOIN reingemacht und in dem anderen Betrag, nur die Datei getauscht. Kannst auch selbst im Script die Änderung vornehmen, einfach nach RIGHT JOIN suchen und gegen LEFT JOIN tauschen.
tBlanken
Beiträge: 3
Registriert: 09.07.2009, 18:16

Beitrag von tBlanken »

Super - danke für die schnelle Antwort. Dann warte ich gespannt auf die Lösung.
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

1. Wenn wir 2 Admin-Accounts anlegen, können diese nicht auf die Mailinglisten des jeweils anderen zugreifen - ist dieses so korrekt?
Ja 2 Admins können die Listen nicht untereinander anschauen.
2. Testweise haben wir nun einmal 13 Benutzer und 4 Gruppen angelegt. Hier scheint es ein kleines Problem mit der SQL-Abfrage zu geben - Beschreibung im Folgenden.

..........
Stimmt es muss ein LEFT JOIN sein, muss ich mal in dem anderen Beitrag die Datei noch austauschen.
tBlanken
Beiträge: 3
Registriert: 09.07.2009, 18:16

Beitrag von tBlanken »

Hallo,

wir haben neulich den Superwebmailer erworben und eingerichtet.
Nun haben wir zwei kleine Fragen...

1. Wenn wir 2 Admin-Accounts anlegen, können diese nicht auf die Mailinglisten des jeweils anderen zugreifen - ist dieses so korrekt?


2. Testweise haben wir nun einmal 13 Benutzer und 4 Gruppen angelegt. Hier scheint es ein kleines Problem mit der SQL-Abfrage zu geben - Beschreibung im Folgenden.

Benutzer B1 - B13
Gruppen G1 - G4

Die Aufteilung sieht wie folgt aus:

G1 : B1 - B13 (alle Benutzer)
G2 : leer
G3 : leer
G4 : B1

Soeben haben wir das aktuelle Skript \"campaigntools.inc.php\" eingefügt (siehe vorheriger Beitrag im Forum), wodurch nun immerhin keine 156 Mail mehr versendet werden sollten ;-)
Wenn wir nun ein Mailing an G4 erzeugen, sollen laut System insgesamt 13 Mails versendet werden - korrekt wäre jedoch 1 Mail.


Genutzte SQL-Anfrage lt. Supermailer:

SELECT DISTINCT `exampleMailingList_members`.`u_EMail`, `exampleMailingList_members`.*, IF(`exampleMailingList_members`.`u_Birthday` <> \'0000-00-00\', YEAR( CURRENT_DATE() ) - YEAR( `exampleMailingList_members`.`u_Birthday`), 0) AS `MembersAge` FROM `exampleMailingList_members`
LEFT JOIN `torben_globalblocklist` ON `torben_globalblocklist`.`u_EMail` = `exampleMailingList_members`.`u_EMail`
LEFT JOIN `exampleMailingList_localblocklist` ON `exampleMailingList_localblocklist`.`u_EMail` = `exampleMailingList_members`.`u_EMail`
RIGHT JOIN `exampleMailingList_maillisttogroups` ON `exampleMailingList_members`.`id`=`exampleMailingList_maillisttogroups`.`Member_id`
LEFT JOIN `1kontaktaufnahmebetatester_groups` ON `1kontaktaufnahmebetatester_groups`.`ml_groups_id`=`exampleMailingList_maillisttogroups`.groups_id
WHERE (`exampleMailingList_members`.`IsActive`=1 AND `exampleMailingList_members`.`SubscriptionStatus`<>\'OptInConfirmationPending\')
AND (`torben_globalblocklist`.`u_EMail` IS NULL AND `exampleMailingList_localblocklist`.`u_EMail` IS NULL)
AND (`1kontaktaufnahmebetatester_groups`.`ml_groups_id`=4)


Korrekt wäre hier (lt. Kurz-Test in MySql):
SELECT DISTINCT `exampleMailingList_members`.`u_EMail`, `exampleMailingList_members`.*,

IF(`exampleMailingList_members`.`u_Birthday` <> \'0000-00-00\', YEAR( CURRENT_DATE() ) - YEAR( `exampleMailingList_members`.`u_Birthday`), 0) AS `MembersAge` FROM `exampleMailingList_members`
LEFT JOIN `torben_globalblocklist`
ON `torben_globalblocklist`.`u_EMail` = `exampleMailingList_members`.`u_EMail`
LEFT JOIN `exampleMailingList_localblocklist`
ON `exampleMailingList_localblocklist`.`u_EMail` = `exampleMailingList_members`.`u_EMail`
LEFT JOIN `exampleMailingList_maillisttogroups`
ON `exampleMailingList_members`.`id`=`exampleMailingList_maillisttogroups`.`Member_id`
LEFT JOIN `1kontaktaufnahmebetatester_groups`
ON `1kontaktaufnahmebetatester_groups`.`ml_groups_id`=`exampleMailingList_maillisttogroups`.groups_id

WHERE( `exampleMailingList_members`.`IsActive`=1
AND `exampleMailingList_members`.`SubscriptionStatus`<>\'OptInConfirmationPending\'
)
AND
(
`torben_globalblocklist`.`u_EMail` IS NULL AND `exampleMailingList_localblocklist`.`u_EMail` IS NULL
)
AND
(
`1kontaktaufnahmebetatester_groups`.`ml_groups_id`=4
)


Es bräuchte also nur der \"RIGHT JOIN\" gegen einen \"LEFT JOIN\" ausgetauscht werden....


Viele Grüße,
Torben
Zuletzt geändert von tBlanken am 09.07.2009, 21:10, insgesamt 2-mal geändert.
Antworten