Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Prosta galeryjka pomoc
Forum PHP.pl > Forum > Przedszkole
Michalowsky
Witam!!! Mam mały problemik. Piszę prostą galeryjkę i muszę zrobić podział wyświetlanych zdjęć np: po 4 w jednym wierszu i w następnym wierszu kolejne 4 zdjęcia. Muszę to zrobić bo wszystkie zdjęcia wyświetlają mi się w jednym wierszu i rozwala mi całą stronkę. worriedsmiley.gif

Oto kod:
  1. <?PHP
  2.  
  3. //GALERIA 1.0 - AGMAR
  4. //katalog ze zdjeciami
  5.  
  6.  
  7. $galeria='photo';
  8. $galeria_min='photo_m';
  9. //////////////////////
  10.  
  11.  
  12. $katalog = @dir($galeria_min) or die ("Nie mozna listowac");
  13.  
  14. echo '<br><br><br><table width="750" border="0"><tr>';
  15.  
  16. while ($plik_kat = $katalog->read())
  17.  
  18.        {
  19.              
  20.          if(strpos($plik_kat, '.jpg') or strpos($plik_kat, '.png') or strpos($plik_kat, '.gif'))
  21.          
  22.                        {
  23.                                          
  24.                          echo '<td align = "center"><a href='.$galeria.'/'.$plik_kat.' rel=lightbox><img src='.$galeria_min.'/'.$plik_kat.'></a></td>';
  25.  
  26.                        }
  27.        }
  28.        
  29. echo '</tr></table>';
  30. $katalog->close();
  31.  
  32. ?>
erix
Zrób sobie licznik w pętli, przy każdym kroku sprawdzaj, ile wynosi reszta z dzielenia przez cztery. Jeśli równa zero, daj nowy wiersz w tabeli (rzecz jasna - zamknij poprzedni winksmiley.jpg).
Michalowsky
Mogłbyś poprawić mi kod bo jestem początkujący nie czaje zabardzo sadsmiley02.gif
erix
  1. Wysil się trochę, otwórz manual i poczytaj o operacjach matematycznych, będziesz wiedział, jak wyliczyć resztę z dzielenia.
  2. Potem wstaw normalny licznik w pętlę (zmienna, której wartość zwiększasz o jeden co krok).
  3. Jeśli reszta z dzielenia równa zero, otwieraj wiersz tabeli (chyba wiesz, jak to wygląda, nie?)
Michalowsky
Nie rozumiem jestem bardzo początkujący proszę o poprawnie kodu bardzo mi na tym zależy.
erix
To jak Ty chcesz to napisać, bez zerowego własnego wysiłku...? Gotowca nie dostaniesz, mówię od razu.
Jeśli chcesz gotowca, to nie ten dział.
Michalowsky
Zrobiłem coś takiego i śmiga. Dziękuje erix za podpowiedz winksmiley.jpg Jakbyś zauważył jakiś błąd to daj znać.

Oto kod może komuś się sprzyda:

  1. <?PHP
  2.  
  3. //GALERIA 1.0 - MEDIASHARK.pl
  4. //katalog ze zdjeciami
  5.  
  6.  
  7. $galeria='photo';
  8. $galeria_min='photo_m';
  9. $licz = 0;
  10. $ilosc_zdjec = 4;
  11. //////////////////////
  12.  
  13.  
  14. $katalog = @dir($galeria_min) or die ("Nie mozna listowac");
  15.  
  16.  
  17. echo '<table width="750" border="0"  cellspacing="2" cellpadding="2"><tr bgcolor="#000000" height="160">';
  18.  
  19.  
  20. while ($plik_kat = $katalog->read())
  21.  
  22.        {
  23.              
  24.          if(strpos($plik_kat, '.jpg') or strpos($plik_kat, '.png') or strpos($plik_kat, '.gif'))
  25.          
  26.                        {
  27.                      
  28.          
  29.          $licz = $licz+1;
  30.          
  31.        
  32.          echo '<td align = "center"><a href='.$galeria.'/'.$plik_kat.' rel=lightbox><img src='.$galeria_min.'/'.$plik_kat.'></a></td>';
  33.          
  34.          if ($licz%$ilosc_zdjec) {
  35.          
  36.          }else{
  37.          echo '</tr><tr bgcolor="#000000" height="160">';
  38.          
  39.          }
  40.          
  41.                      
  42.                    
  43.  
  44.  
  45.                        }
  46.        }
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54. echo '</tr></table>';
  55.  
  56. $katalog->close();
  57.  
  58. ?>
modic
czemu ty masz taki rozpazły kod, pisany bez ładu i składu, popracuj troszkę nad odpowiednimi wciąciami, to potem bardzo pomaga w jego czytaniu - łatwiej się połapać co i gdzie
smile.gif
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.