Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysq] wyszukiwanie według daty
Forum PHP.pl > Forum > Przedszkole
kononowicz
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
phpion
Wszystko możesz wykonać po stronie MySQL. Przydatne będą Ci z pewnością funkcje związane z czasem.
Darti
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
kononowicz
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ć
Darti
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
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.