![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 25.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
chciałbym przedstawić swój mały problem związany z programowaniem PHP. Wykonałem szablon zrobiony na klasie (nazwijmy class Strona). Następnie chciałem zrobić system wyświetlania informacji z bazy danych, użyłem kolejnej klasy (nazwijmy class Mikro). Klasa `mikro` pobiera rekordy z bazy danych. Klasa `strona` buduje szablon strony, najważniejszy kod strony to:
Tworząc index.php, treść strony ładuję w zmienną $content. Problem pojawia się gdy z treści statycznej potrzebuję treść dynamiczną. Używałem różnych metod, ostatecznie zostało:
Efekt jest taki, że wyrażenie Mikro pojawia się w tym bloku, w którym musi. Jednak cała zawartość $mikro->Wczytaj() (jest to zwykła pętla while z wyjściowym echo) pojawia się przed statycznym kodem HTML. Wygląda to tak jakby najpierw wyświetlała się funkcja z pętlą, następnie generowała cała strona. Domyślam się, że muszę w klasie Strona zrobić nową funkcję, zajmującą się wczytywaniem treści. Nie mam jednak pomysłu (i tu jest moje pytanie do Was) jak by takie coś wyglądało. Kod strony to oczywiście nie tylko ta jedna funkcja by była, a trochę więcej kodu PHP. Ktoś jest w stanie mi pomóc? Większy fragment kodu PHP:
Dodam jeszcze, że cały kod działa poprawnie. Tylko pętla jest umieszczana przed kodem HTML strony (dokładnie przed <!doctype html>). |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Problem z obietkowką nie ma zadnego zwiazku. Przenosze. To sa podstawy obslugi funkcji.
JAk chcesz by funkcja ci cos zwracala to masz uzywac RETURN a nie ECHO. Echo wali od razu na ekran |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 25.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Return zwraca jeden wynik z pętli, echo wszystkie. Jakieś inne sposoby?
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
NIe, return zwraca to co podasz. jak dajesz return w petli to nic dziwnego ze zwraa tylko jeden rekord bo return konczy natychmiast cala funkcje.....return ma byc po petli i do return masz przekazac wszystkie wyniki z petli.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 25.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za pomoc, metoda zadziałała. Idę poczytać więcej o echo i return.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 02:24 |