Mam do zrobienia strone dla szkoły nauki jazdy. Stoję przed sporym jak dla mnie problemem gdyż nie potrafię rozwiązać jednego z założeń zlecenia mianowicie klient chce aby w jednym bloku była dynamicznie tworzona informacja o najbliższym kursie. Szkoła ta kursy rozpoczyna zawsze w pierwszy wtorek miesiąca o godzinie 16. Jak przekazać PHP by wyświetlał “NAJBLIŻSZY KURS 02.02.2010r godzina 16” a od dnia 03.02.2009 “NAJBLIŻSZY KURS 02.03.2010r godzina 16”. (2 dzien miesiąca to akurat przypadek)
Coś mi się wydaje że do tego rozwiązania będę potrzebował bazy danych z kalendarzem i zmiennymi dla każdego dnia tygodnia?
Jedna ze zmiennych stałych to aktualna data pobierana z serwera.
Kolejne 12 zmiennych to daty rozpoczęcia kursów.
Teraz potrzebujesz funkcji, która w zależności od aktualnie pobranej z serwera daty zwróci CI odpowiedni wynik.
Warunki do rozpatrzenia masz 4:
a) porównanie miesięcy tak aby konkretna data była porównywana z tą pobieraną z serwera
i tera tak (tak sobie to wymyśliłem)
Jak miesiące się zgadzają a data pobrana z serwera jest mniejsza niż zdefiniowana to różnica dat i ile dni jeszcze zostało do tego terminu.
Jak daty się zgadzają to komunikat, że dziś zaczyna się kurs.
A jak data pobierana z serwera jest wyższa niż ta zdefiniowana to różnica pomiędzy następną zdefiniowaną w kolejce a pobraną z serwera i komunikat ile do następnego terminu.
I tak sobie to 12 razy powtórzyć:)
Teraz tak - różnica dat to jedno a liczba dni to drugie, trzeba by dowiedzieć się jak tę różnicę dat przerobić na liczbę dni.
Tutaj masz przykłady tego jak podawać datę w formacie liczby dni:
Dwa to najlepiej jakby te 12 dat rozpoczęcia kursów było zdefiniowane nie na sztywno a dynamicznie - bo inaczej to będziesz co roku zmieniał 12 dat:)))
I jeszcze jedno. Nie jestem mistrzuniem w te klocki, więc pewnie da się to prościej rozparcelować. No ale od czegoś można zawsze zacząć
Dzięki za pomysł, postaram się zrobić właśnie taki “zegarek” który będzie odliczał pozostałe dni do kursu. Jednak nie wiem czy dam rade od strony technicznej, może ktoś zna, robił, widział podobne rozwiązania?