Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytanie do bazy, zabawa datą, czyli skrypt urodzin
Mystic007
post
Post #1





Grupa: Zarejestrowani
Postów: 106
Pomógł: 1
Dołączył: 22.04.2006
Skąd: Będzin

Ostrzeżenie: (0%)
-----


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... (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
melkorm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Przepraszam, pośpieszyłem się trochę (IMG:style_emoticons/default/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.

Ten post edytował melkorm 29.12.2010, 00:09:52
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 12:29