Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie do bazy, zabawa datą
Forum PHP.pl > Forum > Bazy danych > MySQL
Mystic007
Witam, mam problem dotyczący skryptu urodzin.

Załóżmy, że mam tabelę `users` z polem `ur` typu date [RRRR-MM-DD]

Chcę z niej wybrać tylko tych userów, którzy w ciągu najbliższych 31 dni będą obchodzić urodziny.
Próbowałem wielu sposobów, jednak w końcu poległem... dostal.gif

Oto "cudo", do którego doszedłem:
  1. SELECT * FROM `users` MONTH(ur)>=MONTH(CURDATE()) AND MONTH(ur)<=MONTH(DATE_ADD(CURDATE(),INTERVAL 31 DAY)) AND DAY(ur)>=DAY(CURDATE()) AND DAY(ur)<=DAY(DATE_ADD(CURDATE(),INTERVAL 31 DAY))

Wydaje mi się, że największy problem jest z przeskoczeniem z grudnia na styczeń [na nowy rok].

Proszę, by ktoś na to spojrzał i może coś doradził. Zależy mi by wykonać wszystkie obliczenia w bazie.

Pozdrawiam smile.gif
melkorm
Przepraszam, pośpieszyłem się trochę smile.gif

A więc tak:

1. Dzień roku urodzin musi być pomiędzy teraźniejszym dziem roku +31 i -31.

DAYOFYEAR

Oczywiście jeżeli ktoś obchodzi urodziny '11-11' to musisz stworzyć datę z aktualnym rokiem by zgadzała się ilość dni.
WiruSSS
http://forum.php.pl/index.php?showtopic=122298

...tylko zamiast 7 se wpisz 31 winksmiley.jpg
Mystic007
O dzięki wielkie, jakoś tego nie udało mi się wyszukać winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.