Jak automatycznie pokolorować na przemian wiersze tabeli, PHP Skrypty


[PHP] Jak automatycznie pokolorować na przemian wiersze tabeli, aby była bardziej czytelna?

0x01 graphic

Chcesz pokolorować na przemian wiersze w tabeli np. biały - szary - biały - szary. Dzięki takiemu rozwiązaniu duże tabele stają się bardziej czytelne dla użytkownika i nie męczą wzroku.

0x01 graphic

Poniższy przykład pozwala automatycznie pokolorować tabelę dowolną ilością kolorów, nie tylko dwoma. Możliwe jest więc kolorowanie np. biały - szary - czerwony - zielony - biały - szary - czerwony - itd. Można w ten sposób kolorować również np. tylko co dziesiąty wiersz...

<?

$pola[]="pole 1";

$pola[]="pole 2";

$pola[]="pole 3";

$pola[]="pole 4";

$pola[]="pole 5";

$pola[]="pole 6";

$pola[]="pole 7";

echo "<table border=1 width=200>";

for ($i=0;$i<count($pola);$i++) {

$l++;

if ($l==1) { $bg = "#eeeeee"; }

if ($l==2) { $bg = "yellow"; }

if ($l==3) { $bg = "#ccccff"; $l=0; }

echo "<tr bgcolor=$bg><td>".$pola[$i]."</td></tr>";

}

echo "</table>";

?>

przykładowa tabela:

pole 1

pole 2

pole 3

pole 4

pole 5

pole 6

pole 7

Pętla for() wykonuje się tyle razy ile mamy zadeklarowanych wierszy tabeli. Zmienna $l służy do obsługi kolorów. Już na starcie ma wartość 1, więc przyjmuje kolor szary (#eeeeee). Po drugiej pętli przyjmuje wartość 2 i ustawiany jest kolor żółty (yellow). Za trzecim razem ustawiany jest ostatni kolor, a zmienna $l jest zerowana.

Cykl się powtarza, co zapewnia łatwe i szybkie kolorowanie poszczególnych wierszy tabeli. Ilość kolorów można łatwo zwiększyć lub zmnijeszyć, musisz tylko pamiętać, aby ostatni kolor zerował zmienną $l.

Możliwości cyklicznego kolorowania jest wiele. Można w ten sposób kolorować np. tylko co trzeci wiersz, wystarczy zmodyfikować nieco pętlę:

<?

for ($i=0;$i<count($pola);$i++) {

$l++;

if ($l==3) {$bg="#eeeeee"; $l=0;} else {$bg="";}

echo "<tr bgcolor=$bg><td>".$pola[$i]."</td></tr>";

}

?>

Jeżeli masz nowszą wersję PHP (4.0.0 i wyższą) możesz znacznie ulepszyć procedurę kolorowania wykorzystując rotację tablicy kolorów:

<?

$pola[]="pole 1";

$pola[]="pole 2";

$pola[]="pole 3";

$pola[]="pole 4";

$pola[]="pole 5";

$pola[]="pole 6";

$pola[]="pole 7";

$kolory[]="#eeeeee";

$kolory[]="yellow";

$kolory[]="#ccccff";

echo "<table border=1 width=200>";

for ($i=0;$i<count($pola);$i++) {

$bg=array_shift($kolory);

array_push($kolory, $bg);

echo "<tr bgcolor=$bg><td>".$pola[$i]."</td></tr>";

}

echo "</table>";

?>

Funkcja array_shift() pobiera i kasuje pierwszy element tablicy, przemieszczając pozostałe elementy na początek. Z kolei array_push() umieszcza na końcu tablicy pobraną wartość. W ten sposób tablica ładnie rotuje i sama "dostarcza" cyklicznych kolorów do wypełnienia tabeli.



Wyszukiwarka

Podobne podstrony:
Jak dopisać dane na początku pliku tekstowego, PHP Skrypty
Jak zamienić liczby na kwoty zapisane słownie, PHP Skrypty
Jak wypisać na ekranie w PHP zawartość dowolnej tabeli, PHP Skrypty
Jak stworzyć indeks pierwszych liter dla wybranej kolumny z tabeli, PHP Skrypty
Jak stworzyć na stronie kalendarzyk z dniami miesiąca na dowolny rok i miesiąc, PHP Skrypty
Jak szybko przenieść zawartość pliku tekstowego do tabeli, PHP Skrypty
Jak zatrzymać wykonywanie skryptu na określoną liczbę sekund, PHP Skrypty
Jak sprawdzić typy i atrybuty ustawione dla każdej z kolumn tabeli, PHP Skrypty
Jak wybrać losowy rekord (lub losowe rekordy) z tabeli, PHP Skrypty
Jak stworzyć zaawansowany test wyboru lub quiz, PHP Skrypty
jak miedzy stronami przesłać zmienne korzystajac z sesji, PHP Skrypty
Jak zrobić licznik pobrań plików ze strony, PHP Skrypty
jak wypisac zawartosc bazy danych dBase (dbf), PHP Skrypty
Jak wygenerować statyczny plik .html z bazy danych, PHP Skrypty
jak samodzielnie obliczyc numer dnia w dowolnym roku, PHP Skrypty
Jak odbierać dane pochodzące z różnych pól formularza, PHP Skrypty
Jak wysłać list do grup dyskusyjnych USENET, PHP Skrypty
jak stworzyc licznik klikniec ze statystyka dzienną, PHP Skrypty

więcej podobnych podstron