![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 8.03.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Robię prosty system do zarządzania newsami razem z archiwum, tj. wyświetlania newsów z danego miesiąca. Plan jest taki żeby pobrać datę(datetime) z MySQL i zrobić pętlę która sprawdzałaby czy któryś rekord z bazy jest w danym miesiącu i wyświetlić go(lub nie). Na konieć dodajemy jeden miesiąc aż do miesiąca bieżącego. Nie wiedziałem w sumie do końća jak sie do tego zabrać, ale napisałem coś takiego:
Daty z MySQL są w arrayu $news_date. Tylko że teraz każdy news zwraca albo nazwę miesiąca albo nic, czyli np. jak mam 3 wpisy w sierpniu to wypisuje mi 3 razy pod "sierpień". Wiem dlaczego tak się dzieję, ale nie mam już pomysłu jak się a to zabrać, i twierdziłem że lepiej będzie napisać o tym na forum niż męczyć się nad tym. Tym bardziej że bardzo możliwe zabrałem się od tego od całkowicie złej strony i jest na to 10x bardziej logiczne i łatwiejsze rozwiązanie(nie jestem np. pewny co do sprowadzania dat do arraya). W każdym razie prosiłbym o pomoc z naprawieniem tego kodu, albo wskazówkę/logikę działania kodu lepszego. Ten post edytował pawel.ad 11.08.2011, 18:44:25 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 44 Dołączył: 31.07.2011 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
Najprościej i najszybciej będzie przefiltrować wyniki już w MySQL
np:
więcej szczegółów: http://dev.mysql.com/doc/refman/5.1/en/dat...-functions.html |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 8.03.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Ale wtedy dla każdego miesiąca musiał bym mieć osobne zapytanie do bazy, tak?
Popraw mnie jeśli się mylę, ale nie jet to chyba dobre rozwiązanie pod względem optymalności(?). Jakieś inne propozycje? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 44 Dołączył: 31.07.2011 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie sugeruj się tym co napisałem wcześniej. Źle przeczytałem Twoje pytanie.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 8.03.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
OK
![]() Ktoś inny ma jakieś propozycje? --- Dobra podszedłem do tego od innej strony. Mam teraz numer miesiąca i chcę wyciągnąć z bazy wszystkie rekordy których data [datetime] jest w tym miesiącu. Ale niestety opdada tu rozwiązanie kolegi, bo nie każdy miesiąc ma 30 dni... Jakieś pomysły? Ten post edytował pawel.ad 12.08.2011, 12:41:21 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Ustal datę pierwszego dnia w miesiącu (chyba nie jest to problem) oraz ostatniego (date - poszukaj jak pobrać liczbę dni w miesiącu) i podstaw te wartości do zapytania.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 358 Pomógł: 78 Dołączył: 4.11.2008 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 8.03.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
@phpion - właśnie miałem zamiar to zrobić ale rozwiązanie @nospor'a jest lepsze
![]() @nospor - super! o to mi chodziło @zordon - też fajne rozwiązanie Na tyle sposobów to można było zrobić... |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 15:01 |