Pętla w tabeli

0

Potrzebuję napisać pętle w tabeli tak, aby po zuploadowanym zdjęciu i wstawieniu nowego rekordu wstawiło te zdjęcie do tej tabeli. Tabela ma mieć maksymalnie 3 kolumny, a 4 zdjęcie już wstawi się w 1 kolumnie 2 wierszu, teraz gdy wstawię 4 zdjęcie pojawi się ono obok 3 przez co strona będzie się rozjeżdżać, mając przykładowo 9 zdjęć chciałbym je mieć w tabeli 3x3 , a nie 1x9, czyli po 3 kolumnie ma zacząć od 1 kolumny 2 wiersza.

<?php
$image_count = 9; 

for( $i=1; $i<=$image_count; $i++ ) 
{ 
echo "<tr>"; 
    while( 1 ) 
    { 
      if( $i > $image_count ) break; 
       
        echo "<td>";?> <img src="img/<?php echo $kategoria; ?>/<?php echo $link; ?>" width="150" height="150"><?php echo "<br>"?> <?php echo "<center>". $komentarz. "</center>"; ?> <?php echo "</td>"; 
       
      if( !($i % 3) ) break; 
       
      $i++; 
    } 
echo "</tr>"; 
} 
?>

Zrobiłem tak, ale nie działa tak jak chce ponieważ ciągle powiela jedno zdjęcie w całym wierszu, a chcę żeby każde zdjęcie było inne.

1

$image_count = 9;

$j = 1;
for($i = 1; $i <= $image_count; $i++)
{
   $tablica[$j-1] .= "<td><img src=\"img/$kategoria/$link[$i-1]\" width=\"150\" height=\"150\"><br><center>$komentarz</td>";
   if( !($i % 3) ) $j++; 
}

while($j)
{
   echo '<tr>'.$tablica[$j].'</tr>;
   $j--;
}

Najpierw sobie generuje tablicę stringów z td'kami max po 3, do $link dodałem [$i-1] bo zapewne każdy obrazek ma inną nazwę.
Oczywiście brakuje tutał uzupełnień o td'ki gdzie nie ma obrazków ale to sobie sam już dorobisz, ja tylko rzucam pomysł.

0

Tylko, że zamiast innych zdjęć dodaje mi się ciągle to samo :/

2
$photos[] = ['fotka1','fotka2'...];
$columns = 3;
$arrlength = count($photos);
$rotfl=1;

for($x = 0; $x < $arrlength; $x++) {

   if($rotfl == 1){ echo '<tr>'};
      echo '<td>'.photos[$x].'</td>';
      $rotfl++;
   if($rotfl == $columns || $x+1 == $arrlength){  echo '</tr>'; $rotfl=1;};

}
0
Doggye napisał(a):
$photos[] = ['fotka1','fotka2'...];
$columns = 3;
$arrlength = count($photos);
$rotfl=1;

for($x = 0; $x < $arrlength; $x++) {

   if($rotfl == 1){ echo '<tr>'};
      echo '<td>'.photos[$x].'</td>';
      $rotfl++;
   if($rotfl == $columns || $x+1 == $arrlength){  echo '</tr>'; $rotfl=1;};

}

Jak mam wstawić dane pobierane z bazy danych w tą tablicę photos ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1