![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 19.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam w planie zrobić pewne archiwum
Chcę, aby wpierw pokazywały mi się wyniki (linki): Miesiąc1-Rok1 Miesiąc2-Rok1 ... Miesiąc12-Rok1 Miesiąc1-Rok2 Data w bazie jest zapisana w takim formacie: 07-01-11 - 09:53:54 Wiem że można potraktować ją explodem, ale co dalej Czy można coś z tym zrobić ? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego nie przechowujesz daty jako... datę? Użyj kolumny typu DATETIME.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 19.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
I następnie co powinienem zrobić ?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Możesz ją obrobić w PHP na odpowiedni format (i tą wersję polecam)
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 19.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
No, jednak myślę że tak będzie najlepiej.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 56 Dołączył: 3.06.2010 Skąd: Tarnowskie Góry Ostrzeżenie: (0%) ![]() ![]() |
Możesz ją obrobić w PHP na odpowiedni format (i tą wersję polecam) Chyba miesiąc i rok lepiej wyciągnąć już na poziomie SQL'a i sortować od razu odpowiednio wyniki. http://dev.mysql.com/doc/refman/5.5/en/dat...-functions.html -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 19.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ok, tylko jak to później posortować? załóżmy że wyników mam sporo.
2011-02-15 2011-02-16 2011-02-17 2011-03-15 2011-03-16 2011-03-17 2011-04-15 2011-04-16 2011-04-17 I chcę wpierw wyświetlić tylko takie linki: 2011-02 2011-03 2011-04 A po kliknięciu w dany link, aby pokazywało mi wyniki dla tego dnia. Np klikam w 2011-02 i otrzymuję: 2011-02-15 2011-02-16 2011-02-17 |
|
|
![]()
Post
#8
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Jeśli jesteś na etapie pisania aplikacji, zmień kolumnę z datą na TIMESTAMP lub DATETIME. Jeśli masz już gotową bazę to napisz prosty skrypt który te dane poprawi.
Samo sortowanie jeśli kolumna jest w/w typu jest banalnie proste.
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
I chcę wpierw wyświetlić tylko takie linki: 2011-02 2011-03 2011-04
-------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 19.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ok, mam już bazę więc będę musiał sobie to pozamieniać, czy dobrze myślę:
Pobrać datę z bazy rozbić ją explodem i ułyżyć format YYYY-MM-DD, następnie UPDATE? Czy może jest coś bardziej optymalnego ? |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Czy może jest coś bardziej optymalnego ? To masz napisać, raz odpalić i wyrzucić w cholerę... nie patrz tutaj na optymalność tylko zrób to w możliwie najkrótszym czasie - tak, możesz użyć explode().
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 19.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
No tak o to mi chodziło, tylko pytając o optymalność chodziło mi o czas w jakim skrypt wykona polecenie
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 15:18 |