Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] wyswietlanie danych z bazy w grupie
-samba-
post 3.09.2012, 07:13:18
Post #1





Goście







Pobieram z bazy np. 10 rekordów, w jaki sposób umieścić je w kodzie np. w taki sposób:

  1. <div>
  2. <a>$daneZbazy1</a>
  3. <a>$daneZbazy2</a>
  4. <a>$daneZbazy3</a>
  5. </div>
  6.  
  7. <div>
  8. <a>$daneZbazy4</a>
  9. <a>$daneZbazy5</a>
  10. <a>$daneZbazy6</a>
  11. </div>


Chodzi o to, aby tworzony był DIV a w nim po trzy linki z rekordami i kolejny...
Go to the top of the page
+Quote Post
Riggs
post 3.09.2012, 07:46:23
Post #2





Grupa: Zarejestrowani
Postów: 162
Pomógł: 13
Dołączył: 16.06.2007

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


W ten sposób najprościej obsłużysz to w kodzie php w pętli.
  1. for($i = 0; $i < $rowCount; $i++) {
  2. if($i%3 == 0) {
  3. echo '<div>';
  4. }
  5.  
  6. echo '<a>'.$dane.'</a'>
  7.  
  8. if($i%3 == 0) {
  9. echo '</div>';
  10. }
  11. }

Do zmiennej $rowCount oczywiście przypisz liczbę wierszy pobranych z bazy. Oczywiście rozwiązanie nie jest optymalne, musisz je trochę sam ulepszyć wink.gif
Go to the top of the page
+Quote Post
-samba-
post 4.09.2012, 04:51:59
Post #3





Goście







właśnie mam z tym problem nadal... Zakładając że przed tymi div jest LI
Cytat
<li>
<div>
<a>$daneZbazy1</a>
<a>$daneZbazy1</a>
<a>$daneZbazy1</a>
</div>

<div>
<a>$daneZbazy2</a>
<a>$daneZbazy2</a>
<a>$daneZbazy2</a>
</div>

<div>
<a>$daneZbazy3</a>
<a>$daneZbazy3</a>
<a>$daneZbazy3</a>
</div>
</li>


Każdy LI musi mieć w sobie 3 div, jak rekordów jest więcej to dodaje do kolejnego LI 3 div itd.
Go to the top of the page
+Quote Post
-samba-
post 4.09.2012, 10:59:27
Post #4





Goście







czy ktoś mógłby mi pomóc jak uzyskać taki efekt jak wyżej z for? A może trzeba zrobić to inaczej?
Go to the top of the page
+Quote Post
-Gość-
post 4.09.2012, 15:39:38
Post #5





Goście







up
Go to the top of the page
+Quote Post
-Gość-
post 5.09.2012, 11:54:59
Post #6





Goście







up2
Go to the top of the page
+Quote Post
b4rt3kk
post 5.09.2012, 12:06:36
Post #7





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Co mają znaczyć te up i up2?


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
-Gość-
post 5.09.2012, 12:19:54
Post #8





Goście







aby temat nie zaginął w akcji.
Go to the top of the page
+Quote Post
-Jinbe-
post 5.09.2012, 12:33:33
Post #9





Goście







Cytat(samba @ 4.09.2012, 10:59:27 ) *
czy ktoś mógłby mi pomóc jak uzyskać taki efekt jak wyżej z for? A może trzeba zrobić to inaczej?


Masz już podane, jak wstawić z pomocą pętli for znaczniki div (z lekkim błędem, o ile widzę, ale kierunek jest dobry). Oprócz tego chcesz wstawić znaczniki li dla każdych trzech znaczników div, więc możesz spokojnie użyć tej samej pętli dopisując tam sprawdzenie, czy licznik $i jest podzielny przez... 9 wink.gif
Oczywiście musisz zwrócić uwagę na znaczniki końcowe, gdyż niekoniecznie zawsze będziesz miał odpowiednią liczbę grup div, żeby do końca wypełnić znaczniki li, więc ostatni możesz musieć zamknąć ręcznie. No i w podanej przez Riggsa pętli musisz zmienić lekko warunki, gdyż póki co każdy div zawiera tylko jeden link, a chciałbyś trzy. Ale to już zadanie domowe dla Ciebie wink.gif
I zaznaczam, że takie "up'owanie" tematu nie jest mile widziane. Jak ktoś będzie chciał, to odpisze - nawet jeśli temat znajdzie się na drugiej stronie. A jeśli nie, to Twój temat nie jest ważniejszy od innych, żeby ciągle go podbijać.
Go to the top of the page
+Quote Post
-Gość-
post 5.09.2012, 14:43:44
Post #10





Goście







Właśnie nie wiem jak napisać te warunki aby był wstawiany LI, i 3 DIV do niego... Jak sprawdzić czy licznik $i jest podzielny przez 9? I dlaczego tak?

  1. for($i = 0; $i < 10; ++$i)
  2. {
  3.  
  4. if($i==1 OR ?)
  5. {
  6. echo '<li>';
  7. }
  8.  
  9. if($i%3 == 0)
  10. {
  11. echo '<div>';
  12. }
  13.  
  14. echo '<a>'.$dane.'</a'>
  15.  
  16. if($i%3 == 0)
  17. {
  18. echo '</div>';
  19. }
  20.  
  21. }


Powinna być jeszcze jedna pętla?
Go to the top of the page
+Quote Post
-Jinbe-
post 6.09.2012, 07:33:26
Post #11





Goście







Cytat(Gość @ 5.09.2012, 14:43:44 ) *
Właśnie nie wiem jak napisać te warunki aby był wstawiany LI, i 3 DIV do niego... Jak sprawdzić czy licznik $i jest podzielny przez 9? I dlaczego tak?
Powinna być jeszcze jedna pętla?

A jak sprawdzasz dotąd w zacytowanym przez Ciebie kodzie, czy $i jest podzielne przez 3? Wiesz, do czego służy konstrukcja $i%3? Jeśli nie, poczytaj sobie w manualu.
Moim zdaniem lepiej zrobić to w jednej pętli. Zmień sobie ją najpierw tak, żeby robiła tylko jeden przebieg. Zobacz, jaki zwraca wynik. Zwiększ przebieg o jeden i obserwuj wyniki aż do licznika 10. Spróbuj zrozumieć, jak działa, wprowadzaj zmiany, ale po trochu smile.gif
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: 14.08.2025 - 03:52