[PHP] W jaki sposób zrobić wiersze tabeli w stylu "zebry"?

Problem

Mam tabelę, jednak chcę, aby co drugi wiersz miał inny kolor. Jak zrobić to najprościej?

Rozwiązanie

Najprościej jest zrobić sobie prostą funkcję:

function repeat()
{
   static $i;

   $args = func_get_args();
   return $args[($i++ % count($args))];
}

Do funkcji możemy podać dowolną liczbę argumentów. Jej działanie jest banalnie proste: przy pierwszym wywołaniu zwracany jest pierwszy argument, przy drugim drugi, itd… Gdy funkcja już nie będzie miała kolejnego argumentu zacznie od nowa.

Jeśli chcemy zrobić tabele z różnymi kolorami wierszy wystarczy że użyjemy powyższej funkcji:

<table>
  <? for($i = 0; $i < 10; $i++): ?>
  <tr class="<?= repeat('odd', 'even') ?>">
    <td><? echo $i ?></td>
  </tr>
  <? endfor; ?>
</table>

Komentarze do porady

28 maja 2010, 14:11 #

danix111:

Dzięki, a ja się główkowałem jak to zrobić ;).

Dodaj komentarz do porady