Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pole daty
derecyori
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 1
Dołączył: 9.04.2008

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


Witam wszystkich,

mam tabelę w której znajdują się pola daty (np. pole urodzin). Chciałbym z tabeli wybrać pola gdzie np. urodziny będą za tydzień ale nie wiem jak. Próbowałem z
  1. DATE_SUB(CURDATE(),INTERVAL 7 DAY);
ale nie wiem jak podstawić rok z daty urodzin.

Serdecznie proszę o pomoc.

P.S. Podobny temat był już na forum ale tam chodziło o odjęcie od pola 7 dni co mi nie jest pomocne.
Go to the top of the page
+Quote Post
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Jeśli to ma być dokładnie za tydzień, to po prostu:
  1. SELECT * FROM `tabela` WHERE `data_urodzenia` = DATE_SUB(CURDATE(),INTERVAL 7 DAY)

Oczywiście w polu `data_urodzenia` dane mają być typu DATE.
Jeżeli chcesz wyszukać osoby, które w kolejnym tygodniu obchodzą urodziny, to możesz skorzystać z BETWEEN ... AND ....
Należy pamiętać, że operacje na datach do najszybszych nie należą.
Go to the top of the page
+Quote Post
derecyori
post
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 1
Dołączył: 9.04.2008

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


Wszystko pięknie ale jeżeli dam
  1. SELECT * FROM `tabela` WHERE `data_urodzenia` = DATE_SUB(CURDATE(),INTERVAL 7 DAY)

to nic mi nie znajdzie. Przykładowe pole data_urodzenia to "1985-11-15" a jeżeli skorzystam z CURDATE() to podstawi mi "2011-11-08" czyli brak rekordów w tabeli.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




DATE_FORMAT i daty po obu stronach = sformatuj tylko do miesiąca i dnia.
Go to the top of the page
+Quote Post
Sephirus
post
Post #5





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Prosze (IMG:style_emoticons/default/wink.gif)

  1. SELECT * FROM `tabela` WHERE CURDATE() = DATE_SUB(CONCAT(YEAR(CURDATE()),'-',MONTH(`data_urodzenia`),'-',DAY(`data_urodzenia`),INTERVAL 7 DAY)


Ten post edytował Sephirus 8.11.2011, 12:35:16
Go to the top of the page
+Quote Post

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: 21.12.2025 - 08:09