Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Powtarzająca się pętla?
--Marek--
post
Post #1





Goście







Cześć, szukam u was pomocy. Mam 3 różne prostokąty określone w CSS jako Divy z tłami np. 1. zielone, 2. żółte, 3. czerwone Teraz wyciągam z bazy rekordy np. spis wszystkich województw i chcę żeby tła te powtarzały tzn:
- mazowieckie (tło zielone)
- małopolskie (tło żółte)
- śląskie (tło czerwone)
- opolskie (tło zielone)
- dolnośląskie (tło żółte)
- pomorskie (tło czerwone)

itd

Jak zrobić taką pętlę?
Go to the top of the page
+Quote Post
-Andrzej.W.-
post
Post #2





Goście







Ja bym np. wstawiał z nazwą województwa nazwe diva do bazy, a sam div miałby po prostu id=zmienna i tyle.(IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
--Marek--
post
Post #3





Goście







Też o tym pomyślałem, ale sprawa się komplikuje gdy dane będą mogły być dodawane dynamicznie czyli np. głupi system newsów na stronie, wówczas trzeba jakoś sprawdzić który z kolei kolor to ma być. Z drugiej strony zaciągać do pracy DB przy pętli to trochę chyba przerost formy (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
Rysh
post
Post #4





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Nadaj klasy css, następnie przed pętlą np $color = 0; I w pętli:
  1. if($color % 3 == 0) { echo "<div class=\"czerwony\">";}
Go to the top of the page
+Quote Post
--Marek--
post
Post #5





Goście







Przyznam bez bicia, że nie kumam tego co Rysh napisałem coś takiego

W tabeli test mam pola ID, tresc, date mam 10 roznych wpisów i chce jak wyżej żeby wpisy były na 3 różnych tłach czyli zielone, żółte, czerwone, zielone, żółte, czerwone etc ;-)

  1. $query = "SELECT * FROM test ORDER BY date ";
  2. mysql_query("SET NAMES 'utf8'");
  3. $result = mysql_query($query) or die (mysql_error());
  4.  
  5. $color = 0;
  6.  
  7. while($row = mysql_fetch_array($result)) {
  8.  
  9. $id = $row['id'];
  10. $tresc = $row['tresc'];
  11.  
  12. if($color % 3 == 0) {
  13. echo "<div class=\"czerwony\">red</div>";
  14. }
  15.  
  16. }
  17.  
Go to the top of the page
+Quote Post
Rysh
post
Post #6





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


póki co wstawiłeś kod który Ci dałem na początek, zamiast się samemu domyśleć to pytasz dalej. Więc odpowiadam, wystarczy dodać elseif dla % 3 ==1 oraz == 2 i masz gotowy kod, należy pamiętać żeby po każdej pętli $color++;
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.09.2025 - 16:51