![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 16.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam, borykam sie z nowym problemem. Probuje stworzyc system wyszukiwania dat, ale moze bardziej na przykladach:
-- Baza danych * rekord zawiera dwa pola (date_from) i (date_to), sa to pola typu DATE -- PHP * system opieram o Yii framework Co chce osiagnac? Uzytkownik podaje date przyjazdu i wyjazdu. System wyszukuje w bazie rekordow spelniajacych te kryterium. Problem jest taki, ze chce traktowac date_from i date_to jako przedzial czasowy. Przyklad: rekord1: id=1, date_from=17-03-2014, date_to=29-03-2014. Jezeli uzytkownik poda w formularzu date przyjazdu np/ 19-03-2014 i date wyjazdu 28-03-2014. To chcialbym, aby ten rekord zostal znaleziony. Teraz drugi przypadek: Przedzial czasowy moze byc jednym dniem. ex/ rekord1: id=1, date_from=17-03-2014, date_to=29-03-2014. rekord2: id=2, date_from=19-03-2014, date_to=19-03-2014. rekord3: id=3, date_from=19-03-2014, date_to=22-03-2014. date_from=10-10-2014, date_to:10-10-2014. Jezeli teraz uzytkownik poda w formularzu date przyjazdu np/ 19-03-2014 i date wyjazdu 28-03-2014. To chcialbym, aby te wszystkie rekordy zostaly znalezione. Pozdrawiam kozikowski11 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 873 Pomógł: 25 Dołączył: 24.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 16.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Stosujac sie do rady john_doe probowalem to jakos ogarnac. Ale nie idzie.
Kod SELECT * FROM `unregular_prices` `t` WHERE rooms_id=:rooms_id AND objects_id=:objects_id AND people_id=:people_id AND date_up>=:date_up AND date_down<=:date_down LIMIT 1. Bound with :objects_id='1', :people_id='4', :rooms_id='3', :date_up='"2014-03-08"', :date_down='"2014-03-28"' gdzie w bazie mamy Kod INSERT INTO `unregular_prices` (`id`, `price`, `objects_id`, `rooms_id`, `people_id`, `date_up`, `date_down`) VALUES (1, 100, 1, 3, 4, '2014-03-01', '2014-03-31'); Ciekaw jestem dlaczego mi nie znaduje tego rekordu.. Ten post edytował kozikowski11 17.03.2014, 10:42:29 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 873 Pomógł: 25 Dołączył: 24.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
date_up w bazie masz 2014-03-01
a w zapytaniu 2014-03-08 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 16.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
No tak ,zgadza sie. Zalozenie jest takie, zeby wyszukal mi wszystkie przedzialy czasowe zawierajace sie w przedziale zdefiniowanym przez uzytkownika.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 873 Pomógł: 25 Dołączył: 24.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
no to powinno działać
szukamy czy przedział zadany przez usera zawiera się w przedziele w bazie |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.07.2025 - 10:04 |