Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP + MySQL] Pętla i pobrane dane z bazy
Forum PHP.pl > Forum > Przedszkole
hinczyk
Witam!
Jak zrobić pętle która tworzyłaby tabele która miałaby tyle pozycji ile jest w bazie rekordów przy czym w jednym rzędzie mogą być tylko 4 kolumny(lub mniej to zalezy ile rekordów jest w bazie)?

mniej więcej chodzi mi o coś takiego:
klik

Próbowałem coś zacząć ale nic mi nie wychodzi;/
Kod
echo "<center><table>";
       for($x=1;$x<=1;$x++){
       echo "<tr>";
       for($tabela['id']=1;$tabela['id']<=4;$tabela['id']++){
           echo "<td><img src='photo/".$tabela['zdjecie'].".gif'></td>";
       }
       echo "</tr>";
   }
   echo "</table></center>";


Z góry dzięki za pomoc:)
franki01
  1. <?php
  2. $lenX = 4; // ilosc pozycji w linii
  3. $lenY = 4; // ilosc wierszy
  4.  
  5. $max = $lenX * $lenY;
  6.  
  7. $i = 0;
  8.  
  9. echo '<table style="margin: auto;"><tbody><tr>';
  10.  
  11. while($row = mysql_fetch_assoc($result)) {
  12. if($i == $lenX - 1) {
  13. $i = 0;
  14. echo '</tr><tr>';
  15. }
  16.  
  17. echo '<td><img src="photo/'.htmlspecialchars($row['zdjecie']).'" src="..." /></td>';
  18.  
  19. $i++;
  20. }
  21.  
  22. echo '</tr></tbody></table>';
  23. ?>


Nie wiem czy sie nie pomylilem ale powinno dzialac.
marcio
Przyklad na 2 wymiarach:
  1. <?php
  2. for($rzad = 0; $rzad =<4; $rzad++) {
  3.  
  4.  for($kolumna = 0; $kolumna =<4; $kolumna++) {
  5. echo("<table><tr><td><img src="photo/'.$tab['zdjecie'][$rzad][$kolumna].'"/></td></tr></table>");
  6.  
  7. }
  8. }
  9. ?>

Oczywiscie najpierw polacz sie z baza i wyciagnij zdjecia mam nadzieje ze bedzie dzialac
hinczyk
Wielkie dzięki:) Wszystko działa yahoo.gif
b_chmura
Działa ale jest bardzo brzydko, od tego są wiersze i kolumny żeby nie powtarzać tyle razy samych tabel:

Przykład racjonalnego rozwiązania
  1. <table border="0" width="100%" id="table1" cellspacing="4" cellpadding="0">
  2. <tr>
  3. <?php
  4. $query = mysql_query();
  5. $max = 4;
  6.  
  7. while($dana = mysql_fetch_assoc($query))
  8. {
  9. echo '<td><img src="'.$dana['img'].'" /></td>';
  10.  
  11. if($i == $max){ echo '</tr><tr>'; }
  12. }
  13. ?>
  14. </tr>
  15. </table>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.