Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] kolorowanie co drugi wiersz
lukash82
post 20.11.2007, 16:11:53
Post #1





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

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


Witam. Mam taki problem.... Otoz mam jakies dane w bazie danych i chcialem je wyrzucic na stronie w postaci tabelki. Wymyslilem sobie do tego kolorowanie komorek co drugi wiersz. Wiem, ze trzeba to zrobic za pomoca for-a i if-a jesli np. zmienna a jest podzielna przez 2. Mam cos takiego:
  1. <?php
  2. while ($row2 = mysql_fetch_array($results2)) 
  3. {
  4. for($a=1;$a<=$ile;$a++) 
  5. {
  6. if($a%2) 
  7. $color = "#cacaca";
  8. else
  9. $color = "#b3b3b3";
  10. echo "<tr>";
  11. echo "<td style='background-color:" . $color . ";'>" . $row2['news_data'] . "</td>";
  12. echo "<td style='background-color:" . $color . ";'>" . $row2['news_mod'] . "</td>";
  13. echo "</tr>";
  14. echo "<tr>";
  15. echo "<td colspan='2' style='background-color:" . $color . ";'>" . $row2['news_tytul'] . "</td>";
  16. echo "</tr>";
  17. }
  18. }
  19. echo "</table>";
  20. ?>

Zmienna $ile rowna sie ilosci wierszy w danym zapytaniu. No niestety dziala to nie tak jakbym chcial poniewaz mnozy mi to kazdy wynik z petli while przez ilosc wierszy. W sumie wiem na czym bld polega bo jest petla while a w niej nastepna for ale niestety nie wiem jak to obejsc i logicznie poukladac w calosc... Moze cos Wam do glowy wpadnie i bedziecie mi mogli pomoz? Pozdrawiam, Łukasz.
Go to the top of the page
+Quote Post
nospor
post 20.11.2007, 16:13:37
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a na grzyba tego fora zes tam dal?
  1. <?php
  2. $a=0;
  3. while ($row2 = mysql_fetch_array($results2)) 
  4. {
  5. $a++;
  6. if($a%2) 
  7. $color = "#cacaca";
  8. else
  9. $color = "#b3b3b3";
  10. echo "<tr>";
  11. echo "<td style='background-color:" . $color . ";'>" . $row2['news_data'] . "</td>";
  12. echo "<td style='background-color:" . $color . ";'>" . $row2['news_mod'] . "</td>";
  13. echo "</tr>";
  14. echo "<tr>";
  15. echo "<td colspan='2' style='background-color:" . $color . ";'>" . $row2['news_tytul'] . "</td>";
  16. echo "</tr>";
  17. }
  18. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Cezar708
post 20.11.2007, 16:17:42
Post #3





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


jeśli chodzi tylko o dwa kolory to zawsze możesz zrobić coś takiego:

  1. <?php
  2. $flaga = true;
  3. while ($row2 = mysql_fetch_array($results2)) 
  4. {
  5. if($flaga) {
  6. $color = "#cacaca";
  7. $flaga = false;
  8. } else {
  9. $color = "#b3b3b3";
  10. $flaga = true;
  11. }
  12. echo ... // i reszta twojego kodu
  13. }
  14. ?>
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: 31.07.2025 - 08:00