ďťż
Podstrony
|
telcocafeAhojMam skrypt, który zapisuje do bazy jakąś kategorię np: kategoria1 kategoria2 Pozostale Teraz próbuję wyświetlić obrazek w zależności od kategorii: while($wiersz = mysql_fetch_array($wartosci2)) { if ($wiersz["dzial"] == 'kategoria1') { $zdjecie = 'obrazek1.jpg'; } else if ($wiersz["dzial"] == 'kategoria2') { $zdjecie = 'obrazek2.jpg'; } else if ($wiersz["dzial"] == 'Pozostale') { $zdjecie = 'pozostale.jpg'; } echo(" <br /> <img src='http://www.serwer.pl/zdjecia/$zdjecie' align='left'> "); (...) I zawsze wyświetla mi obrazek1, mimo, że są różne kategorie. Gdzie mam błąd? Nazwy kategorii w instrukcji IF zgadzają się z nazwami podanymi w bazie... Użytkownik sauron edytował ten post 16 sierpień 2007, 09:28 1. Umieszczaj kod w CODEBOX. 2. Czy warunek pętli while ma zostać od razu spełniony. Tak się dzieję (w 99% przypadkow) bo warunek $wiersz = mysql_fetch_array($wartosci2) ma wartosc true jesli uda się przypisac do zmiennej wiersz wartosc zworcona przez funkcje mysql_fetch_array($wartosci2). Czy tak ma byc? Jeśli nie zmień to na: while($wiersz == mysql_fetch_array($wartosci2)) Jeśli tak ma być to wogule usuń pętlę while... Użytkownik kokoss15 edytował ten post 16 sierpień 2007, 10:26 1. Umieszczaj kod w CODEBOX. :faintthud: 2. Czy warunek pętli while ma zostać od razu spełniony. Tak się dzieję (w 99% przypadkow) bo warunek $wiersz = mysql_fetch_array($wartosci2) ma wartosc true jesli uda się przypisac do zmiennej wiersz wartosc zworcona przez funkcje mysql_fetch_array($wartosci2). Czy tak ma byc? Jeśli nie zmień to na: while($wiersz == mysql_fetch_array($wartosci2)) Jeśli tak ma być to wogule usuń pętlę while... a zgadnij, po co wstawiłem tam pętle while? Żeby przypisać wartości z tabeli do tablicy, co nie? Trochę nie na temat, ale czy w tym wypadku nie lepiej użyć elseIF zamiast else if... ?? Trochę nie na temat, ale czy w tym wypadku nie lepiej użyć elseIF zamiast else if... ?? A co za różnica? Chyba tylko przyzwyczajenia :P Częśćiaj programiści piszą ze spacją else if, przynajmniej ja się częsciej z takim zapisem spotykałem. Zresztą, sam tak zawsze piszę :P nie wiem, ale nie prościej, zamiast warunków, szybciej i skuteczniej użyć switch? while($wiersz = mysql_fetch_array($wartosci2)) { switch($wiersz["dzial"] { case 'kategoria1': { $zdjecie = 'obrazek1.jpg'; break; } case 'kategoria2': { $zdjecie = 'obrazek2.jpg'; break; } case 'Pozostale': { $zdjecie = 'pozostale.jpg'; break; } } echo(" <br /> <img src='http://www.serwer.pl/zdjecia/$zdjecie' align='left'> "); (...) ~ Dziwne :P. Tym razem poszło. BTW. nie domknąłeś przy słowie kluczowym "switch" nawiasu ;]. Dzięki za pomoc |
|||
Sitedesign by AltusUmbrae. |