Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Instrukcja if esle if
Forum PHP.pl > Forum > Przedszkole
kosior11
Witam,

Nie mam pojęcia w czym tkwi problem, bo sprawdzałem kod kilka razy i błędów nie widać. Otóż mam instrukcje zbudowana z 15 elementów. Zrobiłem więc w taki sposób:

  1. if (coś == coś){
  2. <ul>
  3. <li>1</li>
  4. <li>2</li>
  5. </ul>';
  6. }
  7. elseif (coś == coś){
  8. <ul>
  9. <li>3</li>
  10. <li>4</li>
  11. </ul>';
  12. }
  13. itd.


Niestety działa tylko element pierwszy i element drugi a pozostałe 13 elementów powiela wyniki z elementu drugiego. Gdy zmieniłem elseif na samo if to zaczęły pojawiać wyniki z pozostałych elementów ale wzbogacone dodatkowo o wyniki z 1 i 2 element.

Ktoś to ogarnia?
!*!
var_dump() i sprawdź "coś", poza tym skoro masz tyle tych elementów to polecałbym switch zamiast if
kosior11
coś czyli $_GET jest odpowiednie za każdym razem i cały czas to samo.
CuteOne
Pokaż kod zamiast tych cosiów
kosior11
  1.  
  2. if ($_GET['where'] == Dolnośląskie){
  3. '<ul>
  4. <li><a href="index.php?k=szukaj&what='.$_GET['what'].'&where='.$_GET['where'].'&where2=Wrocław">Wrocław</a></li>
  5. </ul>';}
  6. else if ($_GET['where'] == Kujawsko-pomorskie){
  7. '<ul>
  8. <li><a href="index.php?k=szukaj&what='.$_GET['what'].'&where='.$_GET['where'].'&where2=Bydgoszcz">Bydgoszcz</a></li>
  9. </ul>';}
  10. else if ($_GET['where'] == Lubelskie){
  11. '<ul>
  12. <li><a href="index.php?k=szukaj&what='.$_GET['what'].'&where='.$_GET['where'].'&where2=Lublin">Lublin</a></li>
  13. </ul>';}
  14. elseif ($_GET['where'] == Lubuskie){
  15. '<ul>
  16. <li><a href="index.php?k=szukaj&what='.$_GET['what'].'&where='.$_GET['where'].'&where2=Zielona+Góra">Zielona Góra</a></li>
  17. </ul>';}
  18. ...
!*!
  1. $_GET['where'] == Lubuskie


powinno być

  1. $_GET['where'] == 'Lubuskie'


Do tego sprawdzaj czy dane istnieją oraz jakiego są typu http://pl.wikibooks.org/wiki/PHP/Instrukcja_if
CuteOne
  1. $woje = array(
  2. 'lubuskie' => 'Koszalin',
  3. 'łódzkie' => 'zielona góra',
  4. itd..
  5. );
  6.  
  7. $where = !empty($_GET['where']) ? strtolower($_GET['where']) : '';
  8.  
  9. if(array_key_exists($where, $woje)) {
  10.  
  11. echo '<ul>
  12. <li><a href="index.php?k=szukaj&what='.$_GET['what'].'&where='.$where.'&where2='.$woje[$where].'">'.$woje[$where].'</a></li>
  13. </ul>';
  14. }


@edit
tak będzie czytelniej
kosior11
Głupi błąd, dzięki!
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.