Php 如何根据内容为表格单元格着色

Php 如何根据内容为表格单元格着色,php,html,colors,html-table,Php,Html,Colors,Html Table,我正在使用下面的php代码给html表中的不同单元格上色,但我想知道是否有更好的方法 <?php if($crew['status'] == 'OUT') { ?> <td style='text-align:center;font-size:80%;color:red' ><?php echo $crew['status'] ?></td> <?php } else if($crew['status'] == 'OPEN') { ?

我正在使用下面的php代码给html表中的不同单元格上色,但我想知道是否有更好的方法

<?php if($crew['status'] == 'OUT') { ?>
  <td style='text-align:center;font-size:80%;color:red'   ><?php echo $crew['status'] ?></td>
<?php } else if($crew['status'] == 'OPEN') { ?>
  <td style='text-align:center;font-size:80%;color:blue'  ><?php echo $crew['status'] ?></td>
<?php } else if($crew['status'] == 'CONFIRMED') { ?>   
  <td style='text-align:center;font-size:80%;color:green' ><?php echo $crew['status'] ?></td>
<?php } else if($crew['status'] == 'WAITLIST') { ?>   
  <td style='text-align:center;font-size:80%;color:purple'><?php echo $crew['status'] ?></td>
<?php } else  { ?>   
  <td style='text-align:center;font-size:80%;color:orange'>TIMESPAN</td>
<?php } ?>  

时间跨度

我会这样做:

  <td class="status-<?php echo $crew['status']; ?>><?php echo $crew['status'] ?></td>

  ...

  <style type="text/css">
    td.status {
      text-align: center;
      font-size: 80%;
      color: orange;
    }
    td.status-OUT { color: red; }
    td.status-OPEN { color: blue; }
    td.status-CONFIRMED { color: green; }
    td.status-WAITLIST { color: purple; }
  </style>

我会这样做:

  <td class="status-<?php echo $crew['status']; ?>><?php echo $crew['status'] ?></td>

  ...

  <style type="text/css">
    td.status {
      text-align: center;
      font-size: 80%;
      color: orange;
    }
    td.status-OUT { color: red; }
    td.status-OPEN { color: blue; }
    td.status-CONFIRMED { color: green; }
    td.status-WAITLIST { color: purple; }
  </style>

大量…您应该避免使用大量内联CSS

您可以执行以下操作:

<style>
#yourtable tr td {
  text-align:center;
  font-size:80%;
}
</style>

<?php 
$colors = [
  'OUT' => 'red',
  'OPEN' => 'blue',
  'CONFIRMED' => 'green',
  'WAITLIST' => 'purple'
];
?>

<?php if (array_key_exists($crew['status'], $colors)): ?>
<td style="color:<?= $colors[$crew['status']]?>"><?= $crew['status'] ?></td>
<?php else: ?>
<td style="color:orange">TIMESPAN</td>
<?php endif ?>

#你的桌子{
文本对齐:居中;
字号:80%;
}
时间跨度

大量…您应该避免使用大量内联CSS

您可以执行以下操作:

<style>
#yourtable tr td {
  text-align:center;
  font-size:80%;
}
</style>

<?php 
$colors = [
  'OUT' => 'red',
  'OPEN' => 'blue',
  'CONFIRMED' => 'green',
  'WAITLIST' => 'purple'
];
?>

<?php if (array_key_exists($crew['status'], $colors)): ?>
<td style="color:<?= $colors[$crew['status']]?>"><?= $crew['status'] ?></td>
<?php else: ?>
<td style="color:orange">TIMESPAN</td>
<?php endif ?>

#你的桌子{
文本对齐:居中;
字号:80%;
}
时间跨度

我喜欢这一行,但为什么$crew['status']='OUT';?我认为不需要这样,但为什么$crew['status']='OUT';?我认为不需要这样