Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Porcjowanie zdjęć w galerii
Forum PHP.pl > Forum > PHP
joka2
Siedzę od samego rana nad tym problemem. Próbowałem już wielu skryptów do porcjowania wyników, ale nadal nie rozwikłałem mojego problemu.
  1. $zapytanie = 'SELECT * FROM galeria ORDER BY `id_galerii` DESC';
  2. $idzapytania = mysql_query($zapytanie);
  3.  
  4. while ($wiersz = mysql_fetch_array($idzapytania))
  5. {
  6. echo '<img src="'.$wiersz["miniatura"].'">';
  7. }
  8. mysql_close($connect);

W tabeli, w bazie, kolumna: miniatura posiada taki ciąg znaków:
  1. /img/mini/1.jpg

Powyższy kod wyświetla zdjęcia w postaci poziomej linii
  1. ...<img src="/img/mini/25.jpg"><img src="/img/mini/24.jpg"><img src="/img/mini/23.jpg"><img src="/img/mini/22.jpg">...

Czy ktoś z Was wskaże mi drogę (nie rozwiązanie), jak złamać wyświetlanie zdjęć?
Dodam tylko, że próbowałem już z LIMITem w zapytaniu do bazy:
  1. $zapytanie = 'SELECT * FROM galeria ORDER BY `id_galerii` DESC LIMIT '.$start.', '.$nastronie.'';

Próbowałem z FORem w kodzie strony:
  1. for ($x=$start;$x<$stop;$x++){...

Próbowałem także przekopać katalog ze zdjęciami, zliczyć go i wyświetlić. Udało się, niestety sortowanie zawiodło.
Jak ktoś znajdzie chwilę czasu dla mojego problemu, będę mu wdzięczny. Z góry WIELKIE dzięki.

PS. Nie sprecyzowałem prośby o pomoc, mianowicie chciałbym mieć wpływ na ilość wierszy i kolumn wyświetlanych na stronie zdjęć.
Looozak
Nie wiem czy dobrze zrozumiałem, ale chyba chodzi Ci o to, że chcesz mieć liczbę zdjęć w jednym wersie (kolumn) pod jakąś zmienną aby móc ją łatwo zmieniać. U siebie ma to zrobione oczywiście na pętli, która odczytuje po kolei zdjęcia i je wypisuje w tabel <table>. Zrobiłem sobie warunek ( if ) który sprawdza czy liczba będąca ilością wykonania pętli (nie potrafię tego nazwać chodzi mi o liczbę aktualnie odczytanych zdjęć zazwyczaj $i ) jest podzielna bez reszty przez liczbę planowanych kolumn. Jeśli tak to kończy aktualną kolumnę i wiersz oraz rozpoczyna nowy </td></tr><tr><td> a jeśli nie to po prostu zajmuje się samymi kolumnami </td><td>. Jeśli dobrze zrozumiałem Twój problem to powinno pomóc bo u mnie działa doskonale wink.gif
joka2
Dzięki za odzew!
Tak, chcę mieć wpływ na liczbę kolumn i liczbę wiersz, reszta "przechodziłaby" sobie grzecznie na kolejną stronę galerii. Na kolejną stronę prowadziłby link, np taki:
  1. index.php?strona=2

Wygrzebałem coś w necie, ale nie do końca o to mi chodzi, nie ma paginacji, o której wszyscy, jak jeden mąż, piszą, że już było... ehhh
  1. <?php
  2. require('PASSY');
  3. $liczba_kolumn=$_GET['liczba_kolumn']; if ((!isset($liczba_kolumn)) OR ($liczba_kolumn > 10) OR ($liczba_kolumn <= 0)) $liczba_kolumn=8;
  4. $zapytanie=mysql_query('SELECT * FROM galeria');
  5. $il=mysql_num_rows($zapytanie);
  6. $wiersze=ceil($il/$liczba_kolumn);
  7. echo '<table border="1">';
  8. for ($a=0;$a<$wiersze;$a++)
  9. {
  10. echo '<tr>';
  11. $b=$a*$liczba_kolumn;
  12. $zapytanie="SELECT * FROM galeria LIMIT $b,$liczba_kolumn";
  13. $pytanie=mysql_query($zapytanie);
  14. while($row=mysql_fetch_array($pytanie))
  15. {
  16. echo '<td>';
  17. echo '<img src="'.$row['miniatura'].'" border=0 width="100px">';
  18. echo '</td>';
  19. }
  20. echo '</tr>';
  21. }
  22. echo '</table>';
  23. ?>

BDW, fajna galeria wychodzi: KLIK.
Wystarczy w adresie www modyfikować liczbę kolumn: 5 kolumn, 3 kolumny ale nie większą niż 10 lub nie mniejszą/równą od 0.
Pozostała do zrobienia paginacja...
Chyba za $$ kupie sobie paginację...
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.