Datatable: изменение цвета строки на основе данных - PullRequest
0 голосов
/ 29 апреля 2019

Я создал базу данных, у меня есть таблица, я вызываю все строки из datatable и хочу установить цвет всех строк в зависимости от ситуации.Например, если ситуация «АКТИВНА», она должна изменить цвет на зеленый.остальная ситуация = 'ОБРАБОТКА' цвет = 'ЖЕЛТЫЙ' остальная ситуация = 'НЕТ' цвет = 'КРАСНЫЙ'

<table class="table" id="table">
      
    <tr>
        <th>ID</th>
        <th>Company</th>

		<th>Situation</th>
	</tr>


<?php 

$ques = $conn->query("SELECT * FROM company "); 

while ($result = $ques->fetch_assoc()) { 

$id = $result['id'];
$companyname = $result['companyname'];
$situation = $result['situation'];


?>
    
    <tr>
        <td><?php echo $id; ?></td>
        	<td><?php echo $companyname; ?></td>
		<td><?php echo $situation; ?></td>
    </tr>

<?php 
} 

?>

</table>







<script>
$(document).ready( function() {
  $('#table').dataTable( {
    "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
      if ( aData['2'] == "NONE" )
      {
        $('td', nRow).css('background-color', 'red' );
      }
      else if ( aData['2'] == "ACTIVE" )
      {
        $('td', nRow).css('background-color', 'green');
      }
      else if ( aData['2'] == "PENDING" )
      {
        $('td', nRow).css('background-color', 'yellow');
      }
      else
      {
        $('td', nRow).css('background-color', 'orange');
      }
    }
  } );
} );
</script>

Я ожидаю, что результат должен быть цветным

Ответы [ 2 ]

0 голосов
/ 16 мая 2019

Я решил проблему Спасибо за вашу помощь, ребята.Я добавил такой скрипт, и теперь он работает правильно:)

<script>
   $(document).ready(function() {
    $("td:last-child").each(function() {
        if ($(this).text() === "ACTIVE") {
            $(this).parent().addClass("active");
    	}
        else {
            $(this).parent().addClass("passive");
        }
    });
});
    </script>
0 голосов
/ 29 апреля 2019

Как правило, внешний вид вашей страницы контролируется с помощью CSS. Поэтому сначала подумайте, как должен выглядеть ваш html, чтобы вы могли применять стили. Вы можете сделать стиль что-то вроде:

tr.active {
    color: green;
}

tr.processing {
    color: yellow;
}

или что-то еще. Поэтому строки таблицы с классом 'active' имеют основной цвет зеленого цвета и т. Д.

Как только мы выясним, как мы хотим, чтобы наша разметка таблицы была похожа, нетрудно собрать php, чтобы создать это:

<tr class="<?php echo $situation; ?>">

Теперь у каждой строки в таблице есть класс, который сообщает браузеру, как его стилизовать.

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