![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 18.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Mam daty w tabeli zapisywane typu text w formacie YYYY/MM (np 2012/04) w tabeli są 4 kolumny data_bookowania, data_od, data_do, ilosc Teraz musze napisać a php pętlę, w któej będzie wykonywana akcja jeśli data_do jest większa od daty_od to zwieksz licznik dla kazdego miesiaca z przedzialu o ilosc Tabelą wyjściową jest tabela o kolumnach data_bookowania miesiac_zainteresowania_ ilosc Przykład: wiersz w tabeli to 2012/02 2012/03 2012/06 35 czyli pętla przechodząc przez ten wiersz wie, że data 2012/06 jest wieksza niz 2012/03 i zwieksza licznik dla każdego zmiesiaca_zainteresowania oprócz pierwszego czyli 2012/04, 2012/05, 2012/06 o ilosc 35 Teraz pierwszym problemme jest zapis z textu jak to porozdzielać tak by php mógł porónać wielkości? Nie może być string tylko int Drugi problrm jak miałaby wyglądać taka pętla |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Szkoda, że tak trzymasz daty - może w przyszłości powodować to problemy i bez sensu komplikować życie. Ale do rzeczy.
Problem pierwszy: funkcja explode: http://php.net/manual/en/function.explode.php - wybierzesz sobie odpowiednie miesiące (tylko sprawdź, cyz nie będzie w przyszłości problemów z przejściem między latami np 2012/2013) Jeśli miałbyś daty to: funkcja strtotime: http://php.net/manual/en/function.strtotime.php zwróci Ci timestampa - porównaj te 2 wartości. Drugi problem: jeśli będziesz patrzył tylko na miesiące to wygląda to mniej więcej tak (jeśli nic nie pomyliłem):
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Nie może być string tylko int Oczywiscie, ze moze to byc string. PHP ma wbudowany mechanizm porownywania dat wlasnie w postaci stringa. Nastepnym razem zanim napiszesz niepotrzebny temat... rusz sie i zrob prosty test w postacii wszystko bedzie jasne. Programowanie nie polega na pisaniu tematow na forum, a na samodzielnym rozwiazywaniu problemow. Rozumiem jakis powazny problem, ale zwykly warunek... |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 05:46 |