Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysq] wyszukiwanie według daty
kononowicz
post 22.11.2007, 12:15:54
Post #1





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Białystok

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


Mam problem... otóż:

w tabeli głównej mam różne dane oraz kolumne data w ktorej jest zapisywana data dodania rekordu w formacie dd.mm.rrrr

Chciałbym, żeby wyświetlając całą tabele można było sortować według dni, miesiecy i roku.

Myślałem o rozbiciu rekordu z tabeli z datą dd.mm.rrr za pomocą funkcji explode ... pózniej w select'cie rozwijac liste i po najechaniu np. na styczen przekazywałoby by wartosc 1 i porównywałoby z datą w bazie. następnie wyświetlało wszystkie elementy z tą datą. pytanie tylko jak sie za to zabrac i jak zrobic zeby po wybraniu miesiaca i pozniej roku pojawiły sie wyniki z danego misiaca i roku a nie tylko z wedlug jednego kryterium.

czy ktoś ma jakis pomysł questionmark.gif


--------------------
gdy moderator śpi - budzą się demony ]:->
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
phpion
post 22.11.2007, 12:37:30
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Wszystko możesz wykonać po stronie MySQL. Przydatne będą Ci z pewnością funkcje związane z czasem.
Go to the top of the page
+Quote Post
Darti
post 22.11.2007, 12:38:53
Post #3





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


MySQL ma funkcje do obsługi dat i czasu.
Np zapytanie:
  1. SELECT DAY(data_dodania) AS dzien, MONTH(data_dodania) AS miesiac, YEAR(data_dodania) AS rok FROM tabela_glowna ORDER BY data_dodania

Zwróci 3 kolumny (dzien, miesiac, rok) uporządkowane hronologicznie, wrzucisz sobie to do tabeli rodzaju dane[rok][miesiac][dzien] = dane i poźniej pętlą wypiszesz na ekran.
Ewentualnie mozesz dodac warunek WHERE rok = 2007 AND miesiac = 1


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
Go to the top of the page
+Quote Post
kononowicz
post 22.11.2007, 15:26:32
Post #4





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Białystok

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


Cytat(Darti @ 22.11.2007, 12:38:53 ) *
MySQL ma funkcje do obsługi dat i czasu.
Np zapytanie:
  1. SELECT DAY(data_dodania) AS dzien, MONTH(data_dodania) AS miesiac, YEAR(data_dodania) AS rok FROM tabela_glowna ORDER BY data_dodania

Zwróci 3 kolumny (dzien, miesiac, rok) uporządkowane hronologicznie, wrzucisz sobie to do tabeli rodzaju dane[rok][miesiac][dzien] = dane i poźniej pętlą wypiszesz na ekran.


to może być dobry sposób tylko ja pobieram date do jednej kolumny za pomoca php czyli date("d.m.Y");

data_dodania w jakim ma być formacie questionmark.gif co to jest właściwie?? mam podać tam zmienna w której będzie data z date("d.m.Y"); questionmark.gif

Nie moge się połapać


--------------------
gdy moderator śpi - budzą się demony ]:->
Go to the top of the page
+Quote Post
Darti
post 22.11.2007, 16:03:24
Post #5





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


mi najwygodniej jest posługiwać się polem TIMESTAMP (uniksowy znacznik czasu od 1970 roku w sekundach) lub DATETIME (YYYY-MM-DD HH:MM:SS), ale równie dobrze możesz zastosować pole DATE w formacie YYYY-MM-DD jeżeli nie zależy Ci na sekundach. MySQL dobrze radzi sobie z wszystkimi typami czasu i oferuje zestaw funkcji do operowania na nich


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
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: 19.07.2025 - 10:31