Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: uzupełnienie tabeli
Forum PHP.pl > Forum > PHP
umatik
Chodzi o graficzne przedstawienie rezerwacji sali.
Mam tabelę z zarezerwowanymi godzinami :
  1. $arr[] = array("od"=>"09:00", "do"=>"11:30");
  2. $arr[] = array("od"=>"11:30", "do"=>"15:30");
  3. $arr[] = array("od"=>"16:30", "do"=>"18:00");

Sala jest dostępna od 8:00 do 18:00
Żeby pokazać "okienka" muszę jakoś wypełnić tabelę $arr żeby wyglądała tak:
  1. $arr[] = array("od"=>"08:00", "do"=>"09:00", "typ"=>"okno");
  2. $arr[] = array("od"=>"09:00", "do"=>"11:30", "typ"=>"rezerwacja");
  3. $arr[] = array("od"=>"11:30", "do"=>"15:30", "typ"=>"rezerwacja");
  4. $arr[] = array("od"=>"15:30", "do"=>"16:30", "typ"=>"okno");
  5. $arr[] = array("od"=>"16:30", "do"=>"18:00", "typ"=>"rezerwacja");

tylko jak ?
Malukaz
1. Pokaż normalny kod bo musisz zastosować warunkowanie do automatycznego uzupełniania.
2. Używasz bazy danych ?
3. Może czas w unixie byłoby łatwiej bawić tutaj ?
umatik
Nie ma więcej kodu ... jest tabela z godzinami od - do.
Oczywiście że można inaczej tylko jak ?
Malukaz
Inaczej, skąd sie bierze ta/te tablica/e. KODKOD
umatik
Już pisałem, nie ma kodu, jest póki co kartka papieru.
Co to za różnica z kąd bierze się ta tablica wink.gif ja wziąłem z bazy ale można z kąd innąd (z kiosku wink.gif )


Póki co idę taką drogą:

Sprawdziłem czy pierwszy element tablicy $arr ma ustawioną pozycję "od" na 08:00. W przypadku kiedy pozycja "od" jest większa dodaję za pomcą array_unshift() początkowe "okienko", analogicznie z ostanim elementem tablicy $arr.

Teraz będę walczył pentlą w której będę sprawdzał czy element "do" i element+1 "od" są równe, jak tak to nie ma okienka jak nie to znaczy że jest.

Generalnie działa, ale jakoś wydaje mi się mało eleganckie to rozwiązanie.
Malukaz
Ja to widze tak: podzieliłeś czas na 'półgodzinne raty', tablice wołałbym inaczej 8:00 => rezerwacja, 8:30=> rezerwacja, 9:00 => rezerwacja, 9:30 niema wpisu więc wolne 10:00 to samo i np 10:30 ma wpis jako rezerwacja więc zmiana, budujesz for który wyciąga kolejno elementy i sprawdza if next argument == rezerwacja else this argument == wolne.

Natomiast w oparciu o baze danych mógłbyś stworzyć tabele np. db_rezerwacje, powkładać wszyskie możliwości i przy zapisywaniu wpisywałoby kolejno Y dla rezerwacji i N dla braku. Potem pobierając te informacje budowałbyś te okienka.

Osobiscie nie jestem pewien czy dobrze rozumiem twój koncept, aczkolwiek wersja z DB wydaje mi sie dużo bardziej odpowiednia z uwagi na możliwości.

Pozdro
umatik
hmm szczerze mówiąc trochę nie łapie Twojego sposobu .. Możesz go jakoś jaśniej opisać i użyć danych z mojego postu ?
com
którego jego sposobu??
umatik
do obu smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.