Hallo
SELECT
'11' AS von, -- von wem die Nachricht ist, ist für alle gleich
user_id AS an, -- wo muss sie überall eingetragen werden
'himmelfahrt' AS event, -- das Ereignis
'' AS note, -- hier gefiele mir persönlich NULL besser
'0' AS projekt,
NOW() AS erstellt, -- hier böte sich eine Timestamp-Spalte an
'2007-05-17' AS datum,
'0700' AS anfang,
'1600' AS ende,
'0' AS contact,
' ' AS note2,
'0' AS remind,
' ' AS visi,
NOW() AS sync1,
NOW() AS sync2
FROM users
> Wieso from users?
weil ich keine Ahnung habe wie Deine Tabelle heißt. Du unterläßt es,
nützliche Informationen zusammenfassend zu posten. Dann nehme ich mir
einen halbwegs passenden Namen. Du solltest schließlich problemlos den
Code anpassen können.
> In users stehen doch nur die Leute, die in der Spalte "an" stehen werden,
dann passt das doch. Ist doch der richtige Name. Du wählst aus "users" aus, um in "termine" einzufügen. Elegant und einfach, SQL eben.
Beachte, dass ich außer der user\_id für "an" nur konstante Werte verwendet habe, denn beim INSERT haben diese Werte ebenfalls
alle den gleichen Wert.
> denn das was hier steht, ist ja in der Tabelle "termine"
Was steht in Termine? Davon war noch gar keine Rede.
> und ob das dann trotzdem geht, bin ich mir nicht so sicher. Auf jeden Fall müsste ich das Ganze noch in eine Schleife bringen, um das Array mit Datum und event durchlaufen lassen zu können.
Wovon sprichst Du?
Davon hast Du noch nichts geschrieben. Spielst Du Rätselraten?
Es war im Ausgangsposting von
- einem Event ("Himmelfahrt")
- einem Datum (2007-05-17)
die Rede.
Genau dieses Event mit allem Brimborium überträgt meine Anweisung für jeden einzelnen Empfänger. Ohne Schleife, ohne irgendwelchen PHP-Müll.
Siehe bitte Schritt 3!
Wozu schreibe ich Schritt-für-Schritt-Anleitungen?
Liest Du nicht, was ich schreibe.
In Schritt 2 wählst Du genau die Daten aus, die anschließend in Deine Termin-Tabelle übertragen werden müssen - soweit ich Dich verstanden habe.
Führe doch die Anweisung einfach mal in phpMyAdmin oder dem Client Deines
Vertrauens wie dem MySQL-Query-Browser aus.
Schau Dir das Ergebnis an. Das ist eine reine Auswahl, ändert nichts an
Deinen Daten.
Das macht erst die Anweisung in Schritt 3!
~~~sql
INSERT INTO termine (
von,
an,
event,
note,
projekt,
erstellt,
datum,
anfang,
ende,
contact,
note2,
remind,
visi,
sync1,
sync2
)
SELECT
'11' AS von, -- von wem die Nachricht ist, ist für alle gleich
user_id AS an, -- wo muss sie überall eingetragen werden
'himmelfahrt' AS event, -- das Ereignis
'' AS note, -- hier gefiele mir persönlich NULL besser
'0' AS projekt,
NOW() AS erstellt, -- hier böte sich eine Timestamp-Spalte an
'2007-05-17' AS datum,
'0700' AS anfang,
'1600' AS ende,
'0' AS contact,
' ' AS note2,
'0' AS remind,
' ' AS visi,
NOW() AS sync1,
NOW() AS sync2
FROM users
Freundliche Grüße
Vinzenz