Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL],[PHP] daty pomiędzy
Forum PHP.pl > Forum > PHP
marian84
Witam.

Mam pewien problem z wyszukiwaniem wydarzeń pomiędzy datami ...

Przykład:
data rozpoczecia: 2013-01-01, data końca: 52013-05-01

Wyszukiwanie:
data od: 2012-12-24, data do: 2013-02-02

  1.  
  2. mysql_query('SELECT * FROM tabela WHERE date_start>="2012-12-24" AND date_end<="2013-02-02");
  3.  


Wydarzenie zostaje odnalezione

-----------------------------------------------------------

A co w przypadku wybrania daty:
od: 2.1.2013 do 4.01.2013

Brak wyników

-----------------------------------------------------------

Jak mogę skonstruować zapytanie do bazy by wywalilo mi również wydarzenia które aktualnie trwają?
jacek21
Nie sprawdzalem osobiscie, ale wydaje mi sie, ze between zalatwi sprawe, nawet znalazlem temat w ten deseń na forum:
http://forum.php.pl/index.php?showtopic=81624
Michasko
Wnioskuję, że skoro daty mogą być wprowadzane na różne sposoby - to korzystasz z jakiegoś formularza. Może po prostu sformatuj sobie ten podawany string (zamień kropki i/lub inne znaki na myślniki) i już.
werek
pamiętaj że mysql wewnetrzne nie podane komponenty daty ustawia najniżej tak że twój select:

  1. SELECT * FROM tabela WHERE date_start>="2012-12-24" AND date_end<="2013-02-02"


w rzeczywistości interpretowany jest jako:

  1. SELECT * FROM tabela WHERE date_start>="2012-12-24 00:00:00" AND date_end<="2013-02-02 00:00:00"


wiec prawdopodobnie w tym tkwi twój błąd, staraj się dokładnie określać ramy czasowe vide:

  1. SELECT * FROM tabela WHERE
  2. (date_end>="2012-12-24 00:00:00" AND date_end<="2013-02-02 23:59:59")
  3. OR
  4. (date_start>="2012-12-24 00:00:00" AND date_start<="2013-02-02 23:59:59")
  5. ORDER BY date_start ASC


to załapie ci wszystkie trwajace w danym czasie imprezy niezależnie czy szachodzą początkiem czy końcem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.