Alle Nutzer zu Newsletterempfängern machen

Hallo,

Ich habe aus einem alten Shopsystem ca. 2000 Nutzer in einen Oxid-Shop importiert.
Diese sind natürlich keine Newsletterempfänger. Zum Zwecke einer Neueröffnung würde ich gerne an alle eine Nachricht verschicken.

Gibt es eine Möglichkeit, in der DB alle Benutzer als Newsletter-Empfänger einzustellen?

Vielen Dank,
David

Adminbereich studieren! Alle Benutzer der Gruppe NEwsletterempfänger zuordnen, das wars!

mfG

Michael

Jupp, oder einfach per mysql-Befehl, das pasende Feld anpassen.

[QUOTE=modellzentrum;40476]Adminbereich studieren! Alle Benutzer der Gruppe NEwsletterempfänger zuordnen, das wars!

mfG

Michael[/QUOTE]

Vorsicht!

Ob Kunden einen Newsletter bekommen, hängt nicht von der Kundengruppe “Newsletter” ab, sondern vom Haken, der direkt am Kunden gesetzt wird. Die Kundengruppe stellt nur eine Hilfe dar, die Nutzer zu bündeln, hat aber überhaupt keine Aussagekraft.

Den Haken kannst Du mit folgendem SQL setzen:

UPDATE oxnewssubscribed ons

LEFT JOIN

(
SELECT oxnewssubscribed.oxid as oxid FROM oxuser LEFT JOIN oxnewssubscribed ON oxuser.oxid = oxnewssubscribed.oxuserid WHERE oxnewssubscribed.oxdboptin != '1' AND oxnewssubscribed.oxemailfailed != '1' AND oxnewssubscribed.oxunsubscribed = '0000-00-00 00:00:00' GROUP BY oxuser.oxusername
)

AS tempor ON ons.oxid = tempor.oxid

SET ons.oxdboptin = '1', ons.oxsubscribed = '2009-01-13 00:00:00'

WHERE tempor.oxid = ons.oxid;

Leg Dir aber vorher erst 'ne Sicherung an. Hab den Query nicht getestet.

[QUOTE=ChristophH;40478]Jupp, oder einfach per mysql-Befehl, das pasende Feld anpassen.[/QUOTE]

Sehr belustigend. Was habe ich denn in meinem ersten Post erfragt.

[QUOTE=modellzentrum;40476]Adminbereich studieren! Alle Benutzer der Gruppe NEwsletterempfänger zuordnen, das wars![/QUOTE]

Auch hier gilt: si tacuisses, philosophus mansisses.

[QUOTE=DanielS;40485]
Den Haken kannst Du mit folgendem SQL setzen:

...

Leg Dir aber vorher erst 'ne Sicherung an. Hab den Query nicht getestet.[/QUOTE]

Vielen Dank an Dich für Deine Antwort, ich teste es gleich einmal aus.

Ausgetestet. 57 Einträge wurden verändert, folglich zeigt mir im Adminbereich das Newslettertool 58 (57+Admin) mögliche Empfänger an. Es sollten aber weit mehr als 1000 sein.

Die Tabelle oxnewssubscribed ist also für die Empfängerliste zuständig ja?
Dort sind jedoch nur 81 Datensätze erfasst, es stehen also nicht alle Benutzer darin.
Muss ich zuerst die Nutzerdaten dort noch einmal einfügen?

Und die Spalte OXDBOPTIN gibt mit 0 bzw. 1 an, ob der Newsletter empfangen werden soll ja?

Vielen Dank,
David

[QUOTE=DavidFWS;40489]Ausgetestet. 57 Einträge wurden verändert, folglich zeigt mir im Adminbereich das Newslettertool 58 (57+Admin) mögliche Empfänger an. Es sollten aber weit mehr als 1000 sein.

Die Tabelle oxnewssubscribed ist also für die Empfängerliste zuständig ja?
Dort sind jedoch nur 81 Datensätze erfasst, es stehen also nicht alle Benutzer darin.
Muss ich zuerst die Nutzerdaten dort noch einmal einfügen?

Und die Spalte OXDBOPTIN gibt mit 0 bzw. 1 an, ob der Newsletter empfangen werden soll ja?

Vielen Dank,
David[/QUOTE]

Da liegt der Hase schon im Pfeffer: Tatsächlich hätte es ein INSERT (oder besser ein REPLACE) sein sollen. :slight_smile: Sorry.
Genau, jeder Newsletterempfänger hat einen Eintrag in der Tabelle ‘oxnewssubscribed’. Die sich dazu erfolgreich angemeldet haben, haben die 1 in oxdboptin. Ich denke, damit solltest Du den SQL soweit umbauen können, daß er für Deinen Wunsch paßt.

Aber das heißt doch, dass ich alle Benutzer aus der Tabelle oxuser in die Tabelle oxnewssubscribers übertragen muss oder?

[I]edit[/I]: Was ich jetzt auch gemacht habe

hallo,

ich stehe vor dem gleichem Problem - ich nutze CleverReach wozu es auch eine Schnittstelle gibt. Diese funktioniert auch. Allerdings müssen jetzt erstmal alle Kunden in der oxnewssubscribed landen. Leider funktioniert bei mir der SQL aufruf auch nicht ganz. Es fehlen immer noch hunderte Kunden.

Wie kann ich die jetzt alle anlegen? Ich dachte einfach daran die Daten aus der oxuser zu exportieren und in die oxnewssubscribed wieder einzulesen aber da gibt es ja ein Feld OXID (OXUSERID ist ja die OXID in der oxuser Tabelle) bei dme ich aber nicht weiß was ich damit machen soll.

Danke schonmal.

Hallo ehrgeiz,

ich denke, Du darfst nicht alle oxuser mit einem Newsletter versorgen, zumindest in Deutschland. Es sei denn, sie haben alle das Double-Opt-In-Verfahren durchgemacht.

Gruß

Wie lautet denn nun der richtige SQL Befehl, um alle User in die Tabelle oxnewssubscribed zu bekommen?