Как окрасить строки таблицы в зависимости от содержания ячейки?

Есть таблица, которая заполняется на PHP из базы данных.
Как окрасить строки таблицы в зависимости от содержания ячейки с помощью CSS?
Например, если ячейка таблицы пустая, то вся строка будет красного цвета.
  • Вопрос задан
  • 6039 просмотров
Решения вопроса 1
iiil
@iiil
Инженер и вэб-дизайнер, рисую.
Вот так, например, с помощью jquery
codepen.io/iiil/pen/gzKsf
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
Условиями в PHP в цикле.
Если ячейка пустая присвойте TR'у класс CSS, c соответствующим отображением.
Если ячейка не пустая присвойте TR'у другой класс CSS, c соответствующим отображением.
Ответ написан
Комментировать
GM2mars
@GM2mars
Если я вас правильно понял:
$cont="";
$class="";
$data //массив данных с БД
for (i=0; i<count($data); i++) {
  if (empty($data[$i])) {$class="redBg";}
  $cont.='<td>'.$data.'</td>';
}
$table='<table><tr class="'.$class.'">'.$cont.'</tr></table>';
//все зависит от вашего кода, но общий смысл думаю понятен.

Если вообще нужно реализовать только на ccs при этом не трогая серверную часть, то как минимум придется использовать javascript.
Ответ написан
Комментировать
@Luminato Автор вопроса
Всем спасибо за ответы, не могли бы Вы привести пример, как использовать javascript?
Вот сама таблица.

<table id="cars" align="center">
<tr>
<th>№ </th>  
<th>Дата </th>
<th>Время </th>
<th>Номер </th>
<th>Прицеп</th>
<th>Грузополучатель</th>
<th>адрес</th>
<th>Место</th>
<th>№ Документа</th>
<th>№ Доверенности</th>
</tr>

<?php
while ($line=mysql_fetch_row($data))
{

$strLink= "<a class='iframe' href ='http://sk.rt/infocarquery.php?nomer_akta=".$line[0]."' data-fancybox-type='iframe' title='Информация о машине'>".$line[0]."</a>";
$firm= "<a class='iframe' href ='http://sklad.rt/infofirmquery.php?gruzp_o=".$line[5]."' data-fancybox-type='iframe' title='Информация о фирме'>".$line[5]."</a>";

// Листинг ссылок
echo "<td>".$strLink."</td>";
echo "<td>".$line[1]."</td>";
echo "<td>".$line[2]."</td>";
echo "<td>".$line[3]."</td>";
echo "<td>".$line[4]."</td>";
echo "<td>".$firm."</td>";
echo "<td>".$line[6]."</td>";
echo "<td>".$line[7]."</td>";
echo "<td>".$line[8]."</td>";
echo "<td>".$line[9]."</td>";
echo "</tr>";   
}
?>
Ответ написан
Комментировать
ixon
@ixon

Сделать проверку содержимого, и если например строку будет пустая, то добавлять к ячейке класс, соответствующий пустой ячейке.
А в css например
.класс_соответствующий_пустой_ячейке{
background:red;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы