Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Porównanie dat (dzień i miesiąc)
krzesik
post
Post #1





Grupa: Zarejestrowani
Postów: 517
Pomógł: 1
Dołączył: 25.08.2012

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


Witam trafiłem na zagwostkę i nie wiem jak to ruszyć, w sumie mam funkcję która działa ale niestety nie w miesiącu grudniu.........

mam w tabeli dwie kolumny z datami (data_od, data_do), z różnych powodów zapisuję ją w formacie mm-dd bez roku, następnie wyświetlam poszczególne rekordy gdy dzisiejsza data zawiera się pomiędzy data_od oraz data_do. Wstawiłem do zapytania dodatkowo warunek sprawdzający czy data_do nie jest czasem większa od data_od bo to oznacza przełom roku. Wszystko ładnie działa, ale niestety wali się jeśli skrypt jest uruchomiony w miesiący grudniu a data_do jest również grudniowa...... pomocy.....

  1. $month = date("m");
  2. $day = date("d");
  3. $dzisiaj = "$month-$day";
  4.  
  5.  
  6. //zapytanie
  7. $sql = "SELECT * FROM tabelka WHERE (($dzisiaj BETWEEN data_od AND data_do) OR (data_od>data_do AND ($dzisiaj NOT BETWEEN data_do AND data_od)))";
  8.  
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mmmmmmm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


Znaczenie ma takie, że zapisując (w bazie) datę w postaci dd-mm, to możesz wszystko wywalić i zacząć od nowa.
Bo 13-01 (1301)-13 styczeń, jest większa od 08-08 (0808) - 8 sierpnia. W rzeczywistości tak nie jest. Przy analogicznym zapisie mm-dd jest 0113 i 0808, więc jest wszystko w porządku. I twoje zapytania powinny działać prawidłowo. (tak mi się wydaje)
Ale musisz mieć tak zapisane w bazie i tak samo porównywać.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 28.12.2025 - 22:24