Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP/SQL] Zapętlone wyświetlanie galerii
-oi-
post 6.09.2007, 07:11:10
Post #1





Goście







Jak w pętli while wstawić wyświetlanie obrazków galerii w kilku kolumnach ?
  1. <?php
  2. while ($pokaz = mysql_fetch_array($wynik))
  3. {  $tytul=$pokaz['tytul'];
  4. $obrazek=$pokaz['obrazek'];
  5. $obrazekxl=$pokaz['obrazekxl'];
  6.  
  7.  <a href=\"$obrazekxl\" title=\"$tytul\"><img src=\"$obrazek\" title=\"$tytul\" />
  8.  $tytul <br /><img src=\"image/twarz.gif\" title=\"$autor\"> </a> ";
  9.  
  10. }
  11. ?>

wiem ze musze uzyc petli for np:
  1. <?php
  2. $ile = 3;
  3.  for (int i=; i<$ile ; ++i)
  4. ?>

ale jak to połączyćz wyświetlaniem obrazka w np $ile=3 kolumnach ?
Go to the top of the page
+Quote Post
qqrq
post 6.09.2007, 09:38:22
Post #2





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Dajmy na to masz 3 kolumny. Wstawiasz tabelkę i w pętli:

  1. <?php
  2. $i = 0; // licznik
  3. $c = 3; // kolumny
  4. while ($pokaz = mysql_fetch_array($wynik))
  5. {
  6. if ($i % $c == 0)
  7. echo '<tr>';
  8. $tytul=$pokaz['tytul'];
  9. $obrazek=$pokaz['obrazek'];
  10. $obrazekxl=$pokaz['obrazekxl'];
  11. echo"
  12. <td><a href=\"$obrazekxl\" title=\"$tytul\"><img src=\"$obrazek\" title=\"$tytul\" />
  13. $tytul <br /><img src=\"image/twarz.gif\" title=\"$autor\"> </a> </td>";
  14. if ($i % $c == $c-1)
  15. echo '</tr>';
  16. $i++;
  17. }
  18. while ($i % $c != 0)
  19. {
  20. echo '<td></td>';
  21. if ($i % $c == $c-1)
  22. echo '</tr>';
  23. $i++;
  24. }
  25. ?>
  26. </table>


Jakoś tak... Aczkolwiek nie sprawdzone, jakby coś nie działało, pisz...

Ten post edytował qqrq 6.09.2007, 17:54:28


--------------------
Go to the top of the page
+Quote Post
-oi-
post 6.09.2007, 09:46:33
Post #3





Goście







Co oznacza ta linijka : if ($i % $c == 0) - bo pierwszy raz sie z takim rozwiazaniem spotykam
Go to the top of the page
+Quote Post
phpion
post 6.09.2007, 09:50:21
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(oi @ 6.09.2007, 10:46:33 ) *
Co oznacza ta linijka : if ($i % $c == 0) - bo pierwszy raz sie z takim rozwiazaniem spotykam

"Jeśli reszta z dzielenia $i / $c jest równa 0"
Go to the top of the page
+Quote Post
-Gość-
post 6.09.2007, 10:00:26
Post #5





Goście







Tak domyśliłem się zaraz sprawdze jak to działa. Zastanawiam sie czy nie prościej byłoby zrobić to na pętli for.
Go to the top of the page
+Quote Post
qqrq
post 6.09.2007, 10:05:06
Post #6





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Można, ale po co robić 2 pętle, jak można jedną? smile.gif


--------------------
Go to the top of the page
+Quote Post
-oi-
post 6.09.2007, 10:09:06
Post #7





Goście







W 7 linijce od dolu jest błąd : echo '<td><td>'; 2x TD
Go to the top of the page
+Quote Post
-oi-
post 6.09.2007, 10:31:43
Post #8





Goście







Wyswietlanie dziala. Błąd jest tylko w nadmiernym <TD> i nie poprawnym <tr>
Np otrzymuje taki kod zrodlowy :
  1. <h2> FOTOGALERIA</h2><table>
  2. <td><a href="galeria.php?akcja=all&id=3&id2=" title="ytul">123
  3. (2) <br /><img src=galeria/min/4.jpg><br />Galeria test4</a><br /> </td></tr><tr>
  4. <td><a href="galeria.php?akcja=all&id=2&id2=" title="Kupno ">Samochod
  5. (3) <br /><img src=galeria/min/6.jpg><br />Galeria test6</a><br /> </td>
  6. <td><a href="galeria.php?akcja=all&id=1&id2=" title="Galeria testowa:-)">Galeria testowa
  7. (2) <br /><img src=galeria/min/5.jpg><br />Galeria test5</a><br /> </td><td></table>
Go to the top of the page
+Quote Post
qqrq
post 6.09.2007, 12:10:30
Post #9





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


OK, poprawione smile.gif


--------------------
Go to the top of the page
+Quote Post
-oi-
post 6.09.2007, 13:38:04
Post #10





Goście







Nie poprawione :-( jest błąd : otrymuje kod : </td><td></td><td></td></table>
Poza tym po co ustalać licznik
$i = 0; // licznik
$c = 3; // kolumny
Gdy zmieniam z zero na np 1 to nie generuje <tr> itd
Go to the top of the page
+Quote Post
qqrq
post 6.09.2007, 18:00:12
Post #11





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Poprawiłem jeszcze jednego byka i działa dobrze (sprawdziłem u siebie).
oi => nie zmieniaj licznika, licznik jest po to żeby liczył. Zmieniaj ilość kolumn na tyle na ile ci potrzeba. A jeśli chodzi o te puste komórki w tabeli - one są po to, żeby w każdym wierszu w tabeli było tyle samo komórek (jak masz np. 5 kolumn i 12 obrazków, to będą 3 rzędy, w ostatim 2 obrazki i 3 puste komórki)


--------------------
Go to the top of the page
+Quote Post
oi.
post 7.09.2007, 08:07:38
Post #12





Grupa: Zarejestrowani
Postów: 145
Pomógł: 1
Dołączył: 12.07.2006

Ostrzeżenie: (10%)
X----


Ok ten komentarz przy licznik mnie zmylił i dlatego zmieniałem jego wartość.
W przyszłości jak sie ogarnę z galerią to przerobie ja na warstwy . Czy można ten skrypt uprościć ?
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 12:55