Sprawa wygląda następująco.
Za pomocą skryptu generuje listę komorek tabeli z godzinami rózniącymi się 30 minutami.
Od godz. 10:00 (pierwsza) do 19:30(ostatnia) - razem jest ich 20.
W bazie danych mam wpis z ktorego pobieram zawartość 'hour' i 'hourend'.
Chodzi o to, że w trakcie generowania tej tabelki z godzinami, skrypt laczy się z baza danych i sprawdza czy istnieje wpis z godzina, ktora ma wygenerowac. Jesli istnieje, to ta godzina oraz kolejne (od 'hour' do 'hourend') powinny wyswietlic się jako niewybirealne.
Problem lezy w tym, że skrypt sprawdza tylko jeden wpis w tabeli i jeśli w bazie sa wpisy, ktore powinny spowodowac niewybieralność godzin np. od 11:00 do 13:30 i 15:30 do 18:00, to niewybieralnym robi się jeden zakres godzin, a drugi pozostaje z mozliwoscia wyboru.
Probowałem bawic się w foreach i while ale jakoś nie potrafiłem dojsc do oczekiwanego efektu. Jesli przy uzyciu ich wszystko sie wyswietlało bez błedów to tak czy owak sugerujac się tylko jednym wpisem.
$i = 0; $lkw = 5; // liczba komórek w wierszu $ld = 20; // liczba danych do wyswietlenia $h = 9; for($n=1;$n<=$ld;$n++) { if($n%2) { $h=$h+1; $m='00'; } else { $m='30'; } $hm = $h.$m; $i++; if($i == 1) $checkhr=safe_query("SELECT * FROM figiel.rezerwacje WHERE sala='".$_POST['salka']."'"); foreach($gh as $grsh) { if($hm>=$gh['hour'] && $hm<$gh['hourend']){ $grsh = '<td class="hourtd" style="color: #282">'.$h.':'.$m.'<br /><span>zarezerwowane</span></td>'; } elseif($hm>1729) { $grsh = '<td class="hourtd" style="color: #282;padding: 30px 0;">'.$h.':'.$m.'</td>'; } else { $grsh = '<td class="hourtd"><a onClick="java script:display('.$hm.')" class="ahourtd">'.$h.':'.$m.'</a></td>'; } } if($i == $lkw) { $i = 0; }; };
Zupełnie nie wiem co mógłbym jeszcze zrobić. Czy moglibyście podzielić się jakimiś wskazówkami? Może są jakieś funkcje/komendy, które mi to ułatwia a ich nie używam? Początkujący jestem.