PHP « php вывод всех элементов таблицы mysql

php вывод всех элементов таблицы mysql с присвоением класса для tr через одну.
Сейчас пользуюсь while ($row = mysql_fetch_assoc($sqlresult)). И тогда корректно выводятся таблицы, вопрос в том как присвоить класс строке tr через одну, что бы получилось примерно следующие (см. img).

1 ответов


Ну вообще есть два варианта - старый и нормальный

Нормальный вариант - если не нужно заморачиваться со всякими недобраузерами (осел) - в css пишем


table#tableID tr td { background-color: #eee }
table#tableID tr:nth-child(2n+1) td { background-color: #aaa }
 

Ну а если нужно, то

$odd = false;
while ($row = ...)
{
   ...
   <tr <? if ($odd = !$odd) { ?>class="odd"<? } ?>>
   ...
}
 


$b = 0;
while ($row = mysql_fetch_assoc($sqlresult)){
  if($b = !$b){
    echo "<tr class='c1'>";
  } else {
    echo "<tr class='c2'>";
  }
}
 

Проще всего использовать остаток от деления по модулю:


$i = 0; // запуск счетчика
while (.....) {
    $i ++; // увеличиваем значение счетчика
    if ($i % 2 != 0) {
        // нечетное
    } else {
        // четное
    }
}