Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql] Zapytanie data od - do
potreb
post
Post #1





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Witam. Mam mały problem.
Wyświetlam dane metodą od do:
  1. SELECT * FROM news WHERE `nhome` = '1' AND `nstart` <= UNIX_TIMESTAMP() AND `nstop` >= UNIX_TIMESTAMP()


Wszystko fajnie tylko co wtedy gdy nie podamy daty dla nstop. Warunek nie przejdzie.


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

Go to the top of the page
+Quote Post
prachwal
post
Post #2





Grupa: Zarejestrowani
Postów: 171
Pomógł: 18
Dołączył: 13.03.2009
Skąd: lublin

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


jest takie magiczne słowo BETWEEN

WHERE A = 1 AND B BETWEEN 2 AND 4
Go to the top of the page
+Quote Post
wookieb
post
Post #3





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




  1. `nstart` <= UNIX_TIMESTAMP() AND IF(`nstop` IS NULL, current_timestamp, `nstop`) >= UNIX_TIMESTAMP()


Powinno zadziałać ale 100% nie daje.

Ten post edytował wookieb 31.08.2009, 21:19:33


--------------------
Go to the top of the page
+Quote Post
potreb
post
Post #4





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


~wookieb nie działa.
~prachwal magiczne beetwen sprawdzi sie gdy będziemy mieli date w nstop, a jak jest pusta?


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

Go to the top of the page
+Quote Post
blooregard
post
Post #5


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




  1. SELECT * FROM news WHERE `nhome` = '1' AND `nstart` <= UNIX_TIMESTAMP() AND (`nstop` >= UNIX_TIMESTAMP() OR `nstop` IS NULL )


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
wookieb
post
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A jednak moje założenie oczywiście działa. Tylko zamiast CURRENT_TIMESTAMP daj UNIX_TIMESTAMP()


--------------------
Go to the top of the page
+Quote Post
6nom
post
Post #7





Grupa: Zarejestrowani
Postów: 14
Pomógł: 5
Dołączył: 27.08.2009

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


Cytat(wookieb @ 31.08.2009, 21:19:04 ) *
  1. `nstart` <= UNIX_TIMESTAMP() AND IF(`nstop` IS NULL, current_timestamp, `nstop`) >= UNIX_TIMESTAMP()


Ladniejsza konstrukcja bedzie z uzyciem COALESCE
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 Aktualny czas: 21.08.2025 - 17:01