![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 0 Dołączył: 13.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Cześć.
W jaki sposób skonfigurować pętlę for, aby po 3 rekordzie tworzyło nową komórkę tabeli (<tr>...</tr>) ? Np. pętla przetwarza 9 wyników więc tabela HTML uformuje się w następujący sposób: Kod 1 2 3 4 5 6 7 8 9 Oczywiście każda liczba to oddzielna komórka TD. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Modulo (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
To powiedz mi Mateusz jak w Twoim wypadku zachowa się skrypt w przypadku 6 elementów, bo jak dla mnie zrobi:
1 2 3 4 5 6 a to raczej mały bajzel (IMG:style_emoticons/default/winksmiley.jpg) Przy numeracji od 0 z kolei zrobi jeden pusty wiersz tabeli (IMG:style_emoticons/default/smile.gif) If musi być 2-członowy. Po pierwsze dodawać "łamanie" dopiero po osiągnięciu 3 elementu (licząc od zera $a%3 == 0, a w przypadku startu od 1 ma być $a%3 == 1), a po drugie $a musi być większe od wartości modulo, czyli $a > 3 (IMG:style_emoticons/default/smile.gif) Ten post edytował thek 26.02.2010, 14:00:00 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 22 Dołączył: 1.06.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
A nie tak?
Tyle, że taki kod działa prawidłowo tylko dla zmiennej $liczba, która jest wielokrotnością liczby 3. Np. dla 8 tabela się posypie w ostatnim rzędzie! EDIT: Stosowanie takiej pętli należy zatem uzależnić od wprowadzanych danych! Bardziej uniwersalny kod, który dopełnia ostatni wiersz komórkami z - i działa dla dowolnej liczby i dowolnej liczby komórek w wierszu:
Ten post edytował mortus 26.02.2010, 14:57:02 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 29.04.2003 Skąd: Stargard Szczeciński Ostrzeżenie: (0%) ![]() ![]() |
kurcze, a moze ktos pomoze jak to przerobic zeby wyswietlalo mi mysqlowe wyniki, bo tak jak teraz to mi zapetla sie pare razy w srodku, a jak wyjde z petla mysqla "wyzej" to nie dziala prawidlowo.
dorzucilem kawalek od $this->kategorie as $kategorie
|
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
To ja zapytam: "WTF?" Robisz 3 komórki w każdym z ceil($liczba/3) wierszy i każda komórka wyświetla wszystko co w foreach, a potem dopycha 3 minus reszta z modulo3 nic nie wyświetlających echo. Dziwisz się nadal? Wcale nie łączysz wyświetlania linków z obrazkami z licznikiem pętli for. Musisz zamiast całość do for wrzucać, użyć dobrze skonstruowanego foreach jedynie.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 29.04.2003 Skąd: Stargard Szczeciński Ostrzeżenie: (0%) ![]() ![]() |
jak ktos jest poczatkujacy to kombinuje i kombinuje, a jak nie wychodzi to prosi o pomoc (IMG:style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
To podpowiem algorytmem...
1. Masz licznik pętli wyzerowany. 2. Robisz pętlę foreach 3. Wewnątrz pętli sprawdzasz, czy licznik_pętli%3 jest równy 0 i jest różny od 0(eliminować musimy pierwszy przebieg). Jeśli tak -> robisz zamknięcie wiersza i otwierasz nowy 4. Wypisujesz link objęty znacznikami TD 5. Inkrementujesz licznik o 1 6. Pętla wraca do punktu 3 i lata aż do końca danych. 7. Poza pętlą sprawdzasz czy licznik%3 jest 0 8. Jeśli tak - koniec 9. Jeśli nie to robimy 3- licznik%3 pustych komórek. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 10:02 |