Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie danych i podzial na listy co 4 elementy
Forum PHP.pl > Forum > PHP
IceManSpy
Witam

Mam pewną zagwozdkę z którą nie mogę się uporać. Pobieram z bazy danych linki do obrazków. Chcę je teraz wyświetlić na stronie, ale w taki sposób, aby były po 4 w linijce. Robię więc to na listach (poniżej przykład):
  1. <ul>
  2. <li><img src="/obrazy/obraz/mu6oa2mxzczu.png" /></li>
  3. <li><img src="/obrazy/obraz/mu6oa2mxzczu.png" /></li>
  4. <li><img src="/obrazy/obraz/mu6oa2mxzczu.png" /></li>
  5. <li><img src="/obrazy/obraz/mu6oa2mxzczu.png" /></li>
  6. <ul />
A w CSS oczywiście jest jako inline. Teraz aby wyświetlić 2 rząd to robię kolejną listę.

W jaki sposób to zautomatyzować, aby po wielokrotności 4 elementu robiło nową listę? Czy dość poprawnie będzie zrobienie czegoś takiego:
  1. <ul>
  2. <li><img src="/obrazy/obraz/mu6oa2mxzczu.png" /></li>
  3. <li><img src="/obrazy/obraz/mu6oa2mxzczu.png" /></li>
  4. <li><img src="/obrazy/obraz/mu6oa2mxzczu.png" /></li>
  5. <li><img src="/obrazy/obraz/mu6oa2mxzczu.png" /></li>
  6. <br />
  7. <li><img src="/obrazy/obraz/mu6oa2mxzczu.png" /></li>
  8. <li><img src="/obrazy/obraz/mu6oa2mxzczu.png" /></li>
  9. <li><img src="/obrazy/obraz/mu6oa2mxzczu.png" /></li>
  10. <li><img src="/obrazy/obraz/mu6oa2mxzczu.png" /></li>
  11. </ul>

i po 4 elemencie wstawiać br ?

Kompletnie nie mam pomysłu jak to ugryźć :/
konole
A rozmiary obrazków są takie same? Czy każde li musi mieć takie samo width? Bo najprostszym rozwiązaniem jest
Kod
ul {
width: 800px;
}
li {
width: 190px;
margin: 0 5px;
float: left;
list-style-type: none;
}


i wtedy masz co 4 punkty listy nową linię zautomatyzowaną przez CSS.
JoShiMa
A nie lepiej div o takiej szerokości, żeby się tylko 4 mieściły? albo w pętli odliczać do 4 i wstawiać </ul><ul>?

Albo podzielić tablicę z danymi na kawałki po 4 szt.
IceManSpy
Dziękuję za odpowiedzi smile.gif Są bardzo pomocne, ale nad wybraniem rozwiązania muszę się jeszcze zastanowić smile.gif
konole
Cytat(JoShiMa @ 26.03.2011, 20:18:21 ) *
A nie lepiej div o takiej szerokości, żeby się tylko 4 mieściły? albo w pętli odliczać do 4 i wstawiać </ul><ul>?

Albo podzielić tablicę z danymi na kawałki po 4 szt.
Ale po co jeszcze zbędny div wstawiać, skoro można ograniczyć blok już w <ul>? Trochę bez sensowne pisanie kodu.
JoShiMa
Miałam na myśli divy zamiast ul/li a jeśli to mają być same zdjęcia, bez tytułów i innych dodatków to porostu same zdjęcia z float left i tak ustawionymi marginesami, żeby się mieściły tylko 4 w linii.
CuteOne
  1.  
  2. $k = 1;
  3. $write = '<ul>';
  4.  
  5. while($row = mysql_fetch_array($select)) {
  6.  
  7. $write .= '<li><img src="/obrazy/obraz/mu6oa2mxzczu.png" /></li>';
  8.  
  9. if($k%4==1) {
  10.  
  11. $write .= '</ul><ul>';
  12. }
  13. $k++;
  14. }
  15.  
  16. $write .= '</ul>'
  17.  
  18. echo $write;
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.