Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] kolorowanie co drugi wiersz
Forum PHP.pl > Forum > Przedszkole
lukash82
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.
nospor
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. ?>
Cezar708
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. ?>
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.