Witam!

Mam problem z skryptem rezerwacji. Mam w bazie pola od i do w postaci timestampu. Problemem jest jak zaznaczyć odpowiednie komórki w tabeli(przy pomocy zmiany tła) jeśli danego dnia jest rezerwacja? Problem zostałby rozwiązany gdybym nie brał pod uwagę czasu generowania skryptu - po prostu sprawdzanie każdego dnia po kolei. Mój kolejny pomysł wyglądał następująco: sprawdzam czy $rez!=TRUE jeśli nie to forem sprawdzam wszystkie rezerwacje w tablicy i jeśli jest jakaś na dany dzień zaznaczam komórkę, przypisuję $rez=TRUE; jeśli $rez==TRUE to koloruję każdą komórkę i jednocześnie sprawdzam czy danego dnia nie nastąpił koniec rezerwacji - jeśli tak $rez=FALSE. Wiem, że zawile to opisałem, ale inaczej już nie potrafię. Są jeszcze inne sposoby?


Aktualnie tak to wygląda: http://villa-merry.com/kalendarz.php.

Aktualny kod, który mam nadzieję, że ułatwi zrozumienie mojej wiadomości:

  1. <?php
  2. $row[0]['from'] = time();
  3. $row[0]['to'] = (time() + 86400*7);
  4. $row[1]['from'] = (time() + 86400*14);
  5. $row[1]['to'] = (time() + 86400*21);
  6. $row[2]['from'] = (time() + 86400*28);
  7. $row[2]['to'] = (time() + 86400*35);
  8.  
  9. $n = date("n");
  10. for($x = 0; $x<=12; $x++){
  11.  
  12. if( ($x + date("n"))>=13 )
  13. {
  14. $n = (($x + date("n"))-12);
  15. $y = (date("Y") + 1);
  16. }else{
  17. $n = ($x + date("n"));
  18. $y = date("Y");
  19. }
  20.  
  21. echo '<tr><td>'. miesiac_pl($n) . ' ' . $y . '</td>';
  22. //for($dn=0;$dn<dzien_tyg_nr($n,$y);$dn++) echo '<td>00</td> ';
  23. for($i=01;$i<=dni_mies($n,$y );$i++) {
  24. if($rez != TRUE){
  25. for($z = 0; $z<=(count($row)-1); $z++){
  26. if( mktime(0,0,0,$n,$i,$y)>=$row[$z]['from'] ){ 
  27. // mktime(0,0,0,$n,$i,$y)>=$row[$z]['from']
  28. $bg = ' bgcolor="#FF00FF;"';
  29. $rez = TRUE;
  30. $rez_id = $z;
  31. $rez_i = $i;
  32. $rez_n = $n;
  33. $rez_y = $y;
  34. }
  35. }
  36. }elseif( mktime(0,0,0,$n,$i,$y)>=$row[$rez_id]['to'] AND $rez == TRUE ){ 
  37. //mktime(0,0,0,$n,$i,$y)>=$row[$rez_id]['to']
  38. $bg = '';
  39. $rez = FALSE;}
  40.  if ($i<10) $i = '0'.$i;
  41.  echo '<td'. $bg .'>'.$i.'</td> ';
  42. }
  43. echo '</tr>';
  44. }
  45. ?>


UPD.: Nieaktualne winksmiley.jpg Problem rozwiązany.