Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][HTML]Pętla for i Tabela HTML
maly_pirat
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mortus
post
Post #2





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?
  1. <?php
  2. $liczba = 9;
  3. echo '<table><tr>';
  4. for ($i = 0; $i < $liczba; $i++) {
  5. if ($i % 3 == 0 && $i != 0) {
  6. echo '</tr><tr>';
  7. }
  8. echo '<td>'.($i+1).'</td>';
  9. }
  10. echo '</tr></table>';
  11. ?>
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:
  1. <?php
  2. $liczba = 13;
  3. $liczb_w_wierszu = 3;
  4. echo '<table><tr>';
  5. for ($i = 0; $i < $liczba; $i++) {
  6. if ($i % $liczb_w_wierszu == 0 && $i != 0) {
  7. echo '</tr><tr>';
  8. }
  9. echo '<td>'.($i+1).'</td>';
  10. }
  11. for($i = 0; $i < $liczb_w_wierszu - $liczba%$liczb_w_wierszu; $i++) {
  12. echo '<td>-</td>';
  13. }
  14. echo '</tr></table>';
  15. ?>


Ten post edytował mortus 26.02.2010, 14:57:02
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 14:22