PHP - помогите кодировать оператор echo для создания любой другой строки разного цвета фона - PullRequest
4 голосов
/ 14 августа 2010

Я создаю таблицу (stats_1) динамически и хотел бы, чтобы каждая строка имела другой цвет фона.Пока что все строки имеют одинаковый цвет фона.

У меня есть следующий php-код, который печатает эхо и операторы:

$keys = array('Col1', 'Col2','Col3','Col4','Col5','Col6','Col7');
echo '<table id="stats_1"><tr>';            
foreach ($keys as $column)
   echo '<th>' . $column . '</th>';
    echo '</tr>';

foreach ($data as $row){                        
   echo '<tr class="alt">';                     
     foreach ($keys as $column)
        if (isset($row[$column])){              
          echo '<td>' . $row[$column];
          } else {
          echo '<td>' . '' . '</td>';
        }
}
echo '</table>';

Мне нужна помощь, чтобы КАЖДЫЙ ДРУГОЙ РЯД ($row) имеют другой COLOR, но не знаю, как это сделать программно с помощью оператора echo.Таким образом, это будет чередовать печать между:

echo '<tr class="alt">';  or   echo '<tr>';

Я определяю это в классе:

#stats_1 tr.alt td
{
color:#000000;                  
background-color:#E0E0FF;       
}

Спасибо за вашу помощь / ввод.

Ответы [ 2 ]

5 голосов
/ 14 августа 2010

Попробуйте:

$counter = 0;
foreach ($data as $row){
  $counter++;

  $class = $counter % 2 === 0 ? 'foo' : 'bar';
  echo '<tr class="' . $class . '">';

  // more code....

Где foo и bar должны быть именами классов ваших альтернативных цветов.

1 голос
/ 14 августа 2010

CSS

http://www.w3.org/Style/Examples/007/evenodd - это невозможно сделать просто с помощью CSS, поскольку поддержка из nth-child свойства пока не очень хороша

JavaScript

http://api.jquery.com/odd-selector/ - Задача довольно проста с библиотекой jQuery на JavaScript.Недостатком является то, что цвета могут казаться немного запоздалыми, и пользователь может заметить это (недостаток с моей точки зрения).Как выполнить раскраску с помощью PHP.

Заключение

PHP кажется лучшим выбором, пока свойство CSS nth-child не будет реализовано в основных браузерах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...