Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]select between
mb83
post
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 0
Dołączył: 2.02.2012

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


Witam,
Mam problem, mam baze w której m.in są takie pole jak :
od_kiedy | do_kiedy

potrzebuje skonstruować zapytanie select tak aby wyswietlal mi rekordy tylko wtedy gdy aktualna data jest pomiedzy tymi dwoma kolumnami.
ja napisałem coś takiego ale nie działa:

  1. SELECT * FROM `kino` WHERE date('d.m.Y') BETWEEN '.$od_kiedy.' AND '.$do_kiedy.'


format dat w tych kolumnach to oczywiście d.m.Y

prosze o pomoc w rozwiazaniu problemu, dzieki
Go to the top of the page
+Quote Post
bpskiba
post
Post #2





Grupa: Zarejestrowani
Postów: 340
Pomógł: 49
Dołączył: 3.07.2009
Skąd: Rzeszów

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


  1. SELECT * FROM kino WHERE DATE(NOW()) BETWEEN od_kiedy AND do_kiedy


Wydaje mi się jednak, że masz niewłaściwy typ pól z datami i funkcje czasu nie zadziałają. Pola od_kiedy i do_kiedy powinny być typu 'date', czyli mieć format Y-m-d. Znając życie Ty masz char lub varchar
Go to the top of the page
+Quote Post
mb83
post
Post #3





Grupa: Zarejestrowani
Postów: 113
Pomógł: 0
Dołączył: 2.02.2012

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


pola od_kiedy i do_kiedy to TEXT a w nich są wprowadzane daty ręcznie (tak musi być)
chce aby data była wyświetlana w formacie d.m.Y a więc czas nie ma znaczenia

no chyba żeby zmienić te pola na date, ale wtedy w SELECT musze zmienic format na d.m.Y bo DATE domyslnie ma Y-m-d a nie chce takiego formatu ...
Go to the top of the page
+Quote Post
rocktech.pl
post
Post #4





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


Witam.

No to źle kombinujesz. W bazie daty trzymasz jako DATE, DATETIME albo TIMESTAMP inaczej operacje na tych polach to rzeźba .. Kończysz używając CAST DATE_FORMAT LIKE.

Cytat
chce aby data była wyświetlana w formacie d.m.Y a więc czas nie ma znaczenia


Użyj typu DATE

Cytat
no chyba żeby zmienić te pola na date, ale wtedy w SELECT musze zmienic format na d.m.Y bo DATE domyslnie ma Y-m-d a nie chce takiego formatu ...


  1. SELECT DATE_FORMAT(od_kiedy, '%d.%m.%Y');


Formatowanie tych pól to kwestia oddzielnej logiki!

Ten post edytował rocktech.pl 28.08.2012, 08:30:53


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
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 - 12:50