Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] zmiana warunku if
Forum PHP.pl > Forum > PHP
Cienki1980
Siedze już od jakiegoś czasu nad prostą ( chyba prostą ) rzeczą i nie mogę nic konstruktywnego wymyśleć.

Tworze kalendarz/terminarz w którym jest rozpisana godzina każdego dnia w najbliższym tygodniu. Godziny są w kolumnach zaczynając się od 00:00 a kończąc na 23:00. Dokładnie widać to TUTAJ. W tej chwili aktywne godziny są dla pierwszej zmiany. Warunek jest prosty:
W pętli for gdzie tworzy się cała struktura danych do tego terminarza jest warunek:
  1. <?php
  2. .
  3. for($j=0;$j<24;$j++)
  4. {
  5.  if($j>&& $j<14)
  6.  {
  7. //tworz dane dla aktywnych pol
  8.  }
  9.  else
  10.  {
  11. //tworz nieaktywne pola
  12.  }
  13. }
  14. .
  15. ?>

W przypadku gdy chcę godziny dla drugiej zmiany ( od 14 do 22 ) to zmienia mi się warunek w if na :
  1. <?php
  2. if($j>13 && $j<23)
  3. ?>

Ale jak chcę ustawić na trzecią zmianę muszę ustawić warunek w ifie na taki:
  1. <?php
  2. if($j>21 || $j<6)
  3. ?>


Potrzebuję pomysłu jak zmieniać te warunki w zależności od wybranej zmiany. Zmiany będą wybierane w multiselecie.
menic
dodaj pozostale warunki jako elseif() winksmiley.jpg
Cienki1980
Cytat(menic @ 5.02.2007, 18:57:10 ) *
dodaj pozostale warunki jako elseif() winksmiley.jpg

Nie bardzo mi się to uśmiecha bo struktura całego for'a jest taka:
  1. <?php
  2. for($i=0;$i<8;$i++)
  3. {
  4.  $datownik[$i]['main']=date("d-m-Y",mktime(0,0,0,$miesiac,$dzien+$i,$rok));
  5.  for($j=0;$j<24;$j++)
  6.  {
  7. $datownik[$i]['sub'][$j]['godzina']=date("H:00",mktime(0+$j,0,0,$miesiac,$dzien+$i,$rok));
  8. $datownik[$i]['sub'][$j]['znacznik']=mktime(0+$j,0,0,$miesiac,$dzien+$i,$rok);
  9. if($j>21 || $j<6)
  10. {
  11.  if(in_array(mktime(0+$j,0,0,$miesiac,$dzien+$i,$rok),$daty))
  12.  {
  13. $datownik[$i]['sub'][$j]['js']=" style="cursor:pointer;margin:1px 3px 0px 0px
  14. class="orange_01b
  15. id="td_".$datownik[$i]['sub'][$j]['znacznik']."
  16. onClick="doKursora(event,".$datownik[$i]['sub'][$j]['znacznik'].");"";
  17. $datownik[$i]['sub'][$j]['hidden']=2;
  18.  }
  19.  else
  20.  {
  21. $datownik[$i]['sub'][$j]['js']=" style="cursor:pointer;margin:1px 3px 0px 0px
  22. class="blue_01b
  23. id="td_".$datownik[$i]['sub'][$j]['znacznik']."
  24. onClick="zaznacz(".$datownik[$i]['sub'][$j]['znacznik'].");"";
  25. $datownik[$i]['sub'][$j]['hidden']=0;
  26.  }
  27. }
  28. else
  29. {
  30.  $datownik[$i]['sub'][$j]['js']="class="grey_01a" id="td_".$datownik[$i]['sub'][$j]['znacznik'].""";
  31. }
  32.  }
  33. }
  34. ?>

W przypadku korzystania z elseif'a musialbym ponawiać wiersze które są w tym ifie ... a to mało mi się podoba sad.gif
Zresztą wybór Zmian będę miał w selecie, więc muszę to jeszcze jakoś z tym połączyć.
menic
No to wrzuć zawartosc ifa do funkcji i zrob elseify a w nich umiesc wywolanie funkcji z odpowiednimi parametrami
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.