SELECT * FROM calendar WHERE (`month` = '$month' || `month` = '*') AND (`year` <= '$year' || `year` = '*') AND `day` < '$day' ORDER BY `year`, `month`, `day` DESC LIMIT 0, 50
Ale zapytanie nie działa tak jak chce. Dla wyjaśnienia: * oznacza corocznie/comiesięcznie, zmienne to dane na dziś.
1) zapytanie źle sortuje wyniki: chce, żeby wyświetlało posortowane najpierw przez rok, poźniej miesiąc, później dzień malejąco, a ono wyświetla jak chce - jeżeli dobrze by sortowało wystarczy dodać LIMIT 1 i mamy ostatnie wydarzenie,
2) nie dodaję limitu, a ono wyświetla tylko jedno wydarzenie, choć dodanych jest kilka na dany miesiąc, czyli coś jest nie tak.
Jeżeli ktoś zauważył, gdzie wkradł się błąd, albo zna lepsze rozwiązanie tego problemu - proszę o odpowiedź.
Z góry dzięki, JaKo.