otóż mam sobie bazę danych i w niej jedną tabelę, tabela zawiera następujące kolumny:
id, lokal, cykliczna, wojewodztwo, miasto, kod_pocztowy, ulica, telefon, data, opis, link
W w/w tabeli mają być wpisywane imprezy w danym lokalu, problemem dla mnie jest napisanie kodu, który będzie sprawdzał czy data jest dzisiejsza i czy impreza jest cykliczna, a jeśli oba warunki są spełnione wtedy wpisuje do tabeli 4 rekordy i w każdym z tych rekordów data jest większa o jeden tydzień... Próbowałem takiego kodu:
CODE
INSERT INTO gdzie (cykliczna, lokal, wojewodztwo, miasto, data, kod_pocztowy, ulica, telefon, opis, link, banner)
SELECT cykliczna, lokal, wojewodztwo, miasto, DATE_ADD(data,INTERVAL 14 DAY),
kod_pocztowy, ulica, telefon, opis, link, banner FROM gdzie WHERE cykliczna=1 AND data=CURDATE();
INSERT INTO gdzie (cykliczna, lokal, wojewodztwo, miasto, data, kod_pocztowy, ulica, telefon, opis, link, banner)
SELECT cykliczna, lokal, wojewodztwo, miasto, DATE_ADD(data,INTERVAL 21 DAY),
kod_pocztowy, ulica, telefon, opis, link, banner FROM gdzie WHERE cykliczna=1 AND data=CURDATE();
INSERT INTO gdzie (cykliczna, lokal, wojewodztwo, miasto, data, kod_pocztowy, ulica, telefon, opis, link, banner)
SELECT cykliczna, lokal, wojewodztwo, miasto, DATE_ADD(data,INTERVAL 28 DAY),
kod_pocztowy, ulica, telefon, opis, link, banner FROM gdzie WHERE cykliczna=1 AND data=CURDATE();
UPDATE gdzie SET data=DATE_ADD(data,INTERVAL 7 DAY) WHERE cykliczna=1 AND data=CURDATE();
SELECT cykliczna, lokal, wojewodztwo, miasto, DATE_ADD(data,INTERVAL 14 DAY),
kod_pocztowy, ulica, telefon, opis, link, banner FROM gdzie WHERE cykliczna=1 AND data=CURDATE();
INSERT INTO gdzie (cykliczna, lokal, wojewodztwo, miasto, data, kod_pocztowy, ulica, telefon, opis, link, banner)
SELECT cykliczna, lokal, wojewodztwo, miasto, DATE_ADD(data,INTERVAL 21 DAY),
kod_pocztowy, ulica, telefon, opis, link, banner FROM gdzie WHERE cykliczna=1 AND data=CURDATE();
INSERT INTO gdzie (cykliczna, lokal, wojewodztwo, miasto, data, kod_pocztowy, ulica, telefon, opis, link, banner)
SELECT cykliczna, lokal, wojewodztwo, miasto, DATE_ADD(data,INTERVAL 28 DAY),
kod_pocztowy, ulica, telefon, opis, link, banner FROM gdzie WHERE cykliczna=1 AND data=CURDATE();
UPDATE gdzie SET data=DATE_ADD(data,INTERVAL 7 DAY) WHERE cykliczna=1 AND data=CURDATE();
Lecz ten kod ten nie spełnia zadania bo tworzy duplikaty dat dla danego lokalu, nie moge też utworzyć unique index dla kolumny data bo np. mogą być lokale, w których imprezy odbywają się w ten sam dzień.
Dodam jeszcze, że koniecznie chciałbym to mieć w postaci mysql, jeśli ktoś miałby jakiś pomysł i chciałby się podzielić ze mną to z góry dziękuje !