Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z If
Forum PHP.pl > Forum > Przedszkole
Jan_III
Witam! Mam mały problem z If!
Sprawdzam czy nr miesiąca jest w bazie i porównuje go instrukcją If z numerem miesiąca w liście wyboru. Jeśli jest taki sam to ma się pojawić nazwa miesiąca:
Kod
<select name="miesiac">
<option value = "">
<?php
if ($dane[0] == 1) echo"<option value=\"1\">Styczen</option>";
if ($dane[0] == 2) echo"<option value=\"2\">Luty</option>";
if ($dane[0] == 3) echo"<option value=\"3\">Marzec</option>";
if ($dane[0] == 4) echo"<option value=\"4\">Kwiecien</option>";
if ($dane[0] == 5) echo"<option value=\"5\">Maj</option>";
if ($dane[0] == 6) echo"<option walue=\"6\">Czerwiec</option>";
if ($dane[0] == 7) echo"<option value=\"7\">Lipiec</option>";
if ($dane[0] == 8) echo"<option value=\"8\">Sierpien</option>";
if ($dane[0] == 9) echo"<option value=\"9\">Wrzesien</option>";
if ($dane[0] == 10) echo"<option value=\"10\">Pazdziernik</option>";
if ($dane[0] == 11) echo"<option value=\"11\">Listopad</option>";
if ($dane[0] == 12) echo"<option value=\"12\">Grudzien</option>";


Problem w tym że jeśli jest więcej niż jedem miesięcy to na liście wyświetla się i tak tylko pierwszy a mają się pojawić np. 3 miesiace. Wiem że np. w Visual Basicu jest EndIf a w php? Jak ten problem rozwiązać? Proszę o pomoc
Supol
hmm a nie lpiej tablica?
  1. <?php
  2. miesiac = array('error','Styczen', 'Luty', 'Marzec', 'Kwiecien', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpien', 'Wrzesien', 'Pazdziernik', 'Listopad', 'Grudzien');
  3.  
  4. echo miesiac[$dane[0]];
  5.  
  6. ?>

jesli masz nmery miesiacy zapisane w tabeli dane to mozesz urzyc petle..
kicaj
Poczytaj o if" title="Zobacz w manualu PHP" target="_manual()
stoprocent
_kicaj , co tu czytac , nie tu jest blad.
@Jan_III : Zobacz ze wszystkie miesiace porownujesz z ta sama wartoscia $dane[0] i nie ma mozliwosci zeby ci wysietlio 3 miesiace .
mozesz np. wykorzystac kod @supol'a i wyswietlac miesiac i np dwa nastepne

  1. <select name=\"miesiac\">
  2. <option value = \"\">
  3. <?
  4. $miesiac = array('error','Styczen', 'Luty', 'Marzec', 'Kwiecien', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpien', 'Wrzesien', 'Pazdziernik', 'Listopad', 'Grudzien');
  5. $next_1 = $dane[0]+1;
  6. if($dane[0]==12){
  7. $next_1 = 1;
  8. }
  9. $next_2 = $next_1+1;
  10. if($next_2==13){
  11. $next_2 = 1;
  12. }
  13. echo '<option value='.$dane[0].'>'.$miesiac[$dane[0]].'</option>';
  14. echo '<option value='.$next_1.'>'.$miesiac[$next_1].'</option>';//1 miesiac wprzod
  15. echo '<option value='.$next_2.'>'.$miesiac[$next_2].'</option>';//2 miesiace w przod
  16. ?>
  17. </select>


edit :
Poprawilem kod tak zeby np nie wyszlo ze mamy 13 albo 14 miesiecy w roku tongue.gif
Jan_III
Nasto miałeś racje:
Cytat
Zobacz ze wszystkie miesiace porownujesz z ta sama wartoscia $dane[0] i nie ma mozliwosci zeby ci wysietlio 3 miesiace .

Mój błąd! Teraz już go widze! Supol dzięki za niezły pomysł!
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.