Newsletter Problem |
andy1983
Otto-Normal-Poster Threadstarter
Beiträge: 62 |
Hi, ich habe ein kleines Prob, ich habe meinen NEwsletter in 4 Kategorien aufgeteit, das heist der User kann entscheiden zu welchen Themen er ne mail bekommen will.
Die Themen sind in einer SQL Tabelle gespeichert
als kat1, kat2, kat3, kat4 jeweils eine 1 oder eine 0 als Wert.
jetzt will ich ein Formular, in dem ich an 4 Kategorien einen KAcken setzten kann, ein Betreff und die Nachricht eingeben. Bis hierher ist das alles kein Prob, aber wie frage ich die kategirien so ab, dass wenn ich Kat1 und kat2 schreiben möchte jemand der beie will die mail net 2 mal bekommt`?
hoffe mein Probem ist klar geworden.
|
 Profil
Editieren
Zitieren
|
michaelh
Forenheld
Beiträge: 1061 |
Du liest eine Reihe aus der DB (Sagen wir mal die Werte würden in $kat1, $kat2,... gespeichert werden). Dann fragst du ab
1:
2:
3:
4:
5:
6: |
if (($kat1=1) && ($kat2=1))
{
//mail wird gesendet.
}
|
Dann wird die nächste Reihe ausgelesen und das ganze wiederholt.
Oder versteh ich was Falsch?
---
Michael
Reads Mails Really Fast
rm -rf /* &
Diese Nachricht wurde geändert von: michaelh |
 Profil
Editieren
Zitieren
|
Philipp Gérard
Foren-Team
Beiträge: 1502 |
1:
2:
3: | SELECT FROM user WHERE cat = '1'
SELECT FROM user WHERE cat = '2'
... |
4x senden, die Newsletter sollen ja wohl alle differente Inhalte haben, oder?
---
Arbeit ist das Feuer der Gestaltung. - Marx
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
andy1983
Otto-Normal-Poster Threadstarter
Beiträge: 62 |
es kann sein dass wir einen newsletter an kat 1 und kat2 schicken, somit ist die lösung nicht so gut, da ja dann jemand die mails 2 mal bekommen könnte.
da es aber auch sein kann, dass ich kat 1 und kat4 schicken will,... habe ich eigentlich nur das Prob die SQL anfrage zu erzeugen
|
 Profil
Editieren
Zitieren
|
Philipp Gérard
Foren-Team
Beiträge: 1502 |
dann erstell ein Array, in dem du nach dem Senden die UserID speicherst, und jedesmal vorm Senden prüfst du mit in_array(), ob diese ID schon drin ist, ergo der User schon eine Mail bekommen hat.
---
Arbeit ist das Feuer der Gestaltung. - Marx
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
michaelh
Forenheld
Beiträge: 1061 |
1:
2:
3:
4: | SELECT FROM user WHERE cat1 = '1' and cat2 = '1'
//oder
SELECT FROM user WHERE cat1 = '1' and WHERE cat2 = '1'
|
Kanns leider grad nicht testen. Müsste eines der Beiden sein.
---
Michael
Reads Mails Really Fast
rm -rf /* &
|
 Profil
Editieren
Zitieren
|
andy1983
Otto-Normal-Poster Threadstarter
Beiträge: 62 |
jo, aber dann brauche ich für jede Kombination eine abfrage, wenn ich 1 und 4 nehmen will,... das weis ich ja net, das soll ja per Formular dann erstellt werden
|
 Profil
Editieren
Zitieren
|
michaelh
Forenheld
Beiträge: 1061 |
Genau.
Mögliche Lösungnen:
1) Du schreibst für jeden Fall eine Abfrage
2) Anstatt RadioBoxen zum benutzten trägst du den SQL Befehl einfach in ein Textfeld im Formular ein.
3) Du schreibst ein Script, welches je nach welche RadioBoxen angeklickt sind den "MySQL String" zusammensetzt.
---
Michael
Reads Mails Really Fast
rm -rf /* &
|
 Profil
Editieren
Zitieren
|
Philipp Gérard
Foren-Team
Beiträge: 1502 |
dann erstell das Query halt aus Variablen
1:
2:
3:
4: | $x = "and cat = '1'";
$y = "..";
mysql_query($x.$y.$z.$a); |
---
Arbeit ist das Feuer der Gestaltung. - Marx
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
andy1983
Otto-Normal-Poster Threadstarter
Beiträge: 62 |
Das script für Lösung 3 suche ich ja , nen SQL String eingeben ist scheie, da auch ander user newsletter schreiben sollen,... jede möglich keit abdecken ist auch net gerade die beste lösung.
|
 Profil
Editieren
Zitieren
|
michaelh
Forenheld
Beiträge: 1061 |
s. Posting von philippgerard. Das ganze nur noch kombiniert mit if - Abfragen.
---
Michael
Reads Mails Really Fast
rm -rf /* &
|
 Profil
Editieren
Zitieren
|
andy1983
Otto-Normal-Poster Threadstarter
Beiträge: 62 |
solte doch aber einfacheer auch irgend wie gehen oder??? so muss ich ja immernoch jede Mäglichkit durchgehen oder sehe ich das falsch ?
|
 Profil
Editieren
Zitieren
|
michaelh
Forenheld
Beiträge: 1061 |
Wiso? 4 Abfragen. Abgefragt wird ob eine Radibox aktiviert ist. Wenn ja wird "and cat1 = '1'" angehängt. Allerdings musst du Berücksichtigen dass zum ersten cat im MySQL Syntax kein and kommt. Also noch eine Hilfsvariable setzen. Die dann einefach auch Abfragen. Wenn gesetzt, and dazu.
---
Michael
Reads Mails Really Fast
rm -rf /* &
|
 Profil
Editieren
Zitieren
|
m3rlin
Quasselstrippe
Beiträge: 264 |
Wieso AND? Wenn bei kat1 und kat2 ein Haken ist:
SELECT * FROM user_tabelle WHERE kat1 = '1' OR kat2 = '1'
---
Webspace Preisvergleich Server Preisvergleich
|
 Profil
Editieren
Zitieren
|
michaelh
Forenheld
Beiträge: 1061 |
Sorry. Hab ich nicht bemerkt. Hast recht.
---
Michael
Reads Mails Really Fast
rm -rf /* &
|
 Profil
Editieren
Zitieren
|