Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 

 
Reply to this topicStart new topic
> Porównanie dwóch okresów czasu
mercs600
post 14.03.2010, 01:29:30
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 14.11.2009

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


Witam mam taki problem. W tabeli mam takie pola data_od i data_do. I np w data_od mamy 2010-03-13 a w data_do 2010-03-20. I teraz ten zakres daty od do chciałbym porównać z wpisaną datą w formularzu, tzn użytkownik wpisuje datę np. od 2010-03-14 do 2010-03-18 i powinien wyświetlić się błąd, że ta data jest zajęta. Cały czas myślę nad zapytaniem i nie mogę wymyślić.
Go to the top of the page
+Quote Post
eccocce
post 14.03.2010, 11:05:29
Post #2





Grupa: Zarejestrowani
Postów: 64
Pomógł: 5
Dołączył: 10.07.2008

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


  1. SELECT * FROM tabela WHERE tabela.data_od <= $data1 AND tabela.data_do >= $data2

za składnie nie ręczę (nie pamiętam, czy można tak porównywać daty), ale jeśli pod $data1 i $data2 umieścisz daty z formularza to takie zapytanie powinno ci zwrócić wynik, którego zakres obejmuje podany zakres w formularzu smile.gif i wtedy będziesz wiedział, że trzeba wywalić błąd
Go to the top of the page
+Quote Post
mercs600
post 14.03.2010, 13:18:06
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 14.11.2009

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


dzięki zwraca to co powinien, tylko teraz pomyślałem, że będzie dla mnie lepiej jeśli rozbije sobie jedną datę na 3 pola: od_dzien, od_miesiac, od_rok i do_dzien, do_miesiac, do_rok jak mam teraz skonstruować zapytanie w podobny sposób do tego co mi podałeś ?

  1. SELECT * FROM zamowienia WHERE zamowienia.od_dzien <= $od_dzien AND zamowienia.od_miesiac <= $od_miesiac AND zamowienia.od_rok <= $od_rok AND zamowienia.do_dzien >= $do_dzien AND zamowienia.do_miesiac >= $do_miesiac AND zamowienia.do_rok >= $do_rok;
Go to the top of the page
+Quote Post
piotrdd2
post 14.03.2010, 14:02:39
Post #4





Grupa: Zarejestrowani
Postów: 136
Pomógł: 2
Dołączył: 13.05.2003
Skąd: Przemyśl

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


  1. $data1=$od_rok."-".$od_miesiac."-".$od_dzien;
  2. $data2=$do_rok."-".$do_miesiac."-".$do_dzien;


  1. SELECT * FROM tabela WHERE tabela.data_od <= $data1 AND tabela.data_do >= $data2


powinno działać
Go to the top of the page
+Quote Post
mercs600
post 14.03.2010, 14:25:55
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 14.11.2009

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


No tak to będzie dobra opcja biggrin.gif dzięki
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 31.07.2010 - 02:15