![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 8.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam taki kod (w widoku):
(te klamerki to szablon OPT) Otóż potrzebuję teraz dopisać kod (w kontrolerze), który sprawi, że powyższy kod wyświetli mi na stronie w przeglądarce tabelkę: pierwsza kolumna: to godziny wizyt (wartości pobierane z bazy poprzez odpowiednie zapytanie); kolejne kolumny: to minuty wizyt. Jeśli w danej godzinie lekarz może przyjmować co 15min, to tych kolumn "minuty wizyt" będzie 4 (bo 60/15=4). Opisowo: jest sobie lekarz, który dzisiaj przyjmuje od 10 do 15 (czyli ma być 5 wierszy - 10, 11, 12, 13, 14). Wizyta u niego trwa 15min (więc nagłówki kolumn przyjmują wartości 0-15, 15-30, 30-45, 45-60). Ostatecznie powstanie tabelka 5x4, czyli posiadająca 20 komórek. Wartość w drugim foreachu czyDostepne przekazuje informację, czy dana godzina jest wolna (wtedy rysuje radiobuttona i daje możliwość rejestracji wizyty), natomiast w przeciwnym wypadku kropki nie ma (zastosowany jest styl zmieniający tło komórki na czerwony). Kod, który mam napisać trzeba ogarnąć arrayami. Poniższy kod (wartości wpisane na sztywno) dają zamierzony rezultat:
Teraz muszę zrobić to dynamicznie, wartości mają być pobierane zgodnie z kilkoma czynnikami, np. od/do której lekarz dzisiaj przyjmuje ($harm_godz_od/do), ile trwa wizyta ($minuty), czy dana godzina (komórka z godziną) znajduje się w harmonogramie lekarza (funkcja czyWPrzedziale(), np. czyWPrzedziale(10:30,10:45) zwraca true, a czyWPrzedziale(16:00,16:15) zwraca false).
Powyższy kod jest nieprawidłowy: wyświetla w tabelce tylko jedną komórkę (ostatnią, czyli z wartością "14:45"). Jak zrobić, żeby wyświetlone zostały wszystkie komórki (w tym przypadku 20)? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 455 Pomógł: 69 Dołączył: 23.10.2004 Skąd: Oświęcim Ostrzeżenie: (0%) ![]() ![]() |
Cały czas nadpisujesz tablicę.
Popatrz czym się różni:
Od:
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 22:28 |