回声值反映颜色字体

时间:2018-08-30 19:56:42

标签: php html css mysql

我想知道是否有可能回显一个变量,并且根据变量的内容将改变值的相应颜色?这与将固定颜色设置为回显值不同。

例如以下示例:

<th>Status</th>
<td><?php echo $row['status']; ?></td>

数据库中的状态内容可以是:

  • “高”-红色字体,
  • “ Med”-橙色字体,
  • “低”-蓝色字体

因此,当回显值为“ High”时,表中反映的字体颜色应为红色。如果为“ Med”,则字体颜色应为橙色。如果为“低”,则字体颜色应为蓝色。

如果可能,如何实现?谢谢大家!

3 个答案:

答案 0 :(得分:3)

使用简单的CSS样式怎么样?

css

<style>
    .High { color: red; }
    .Med { color: orange; }
    .Low { color: blue; }
</style>

然后使用您的HTML / PHP

<th>Status</th>
<td class="<?php echo $row['status']; ?>"><?php echo $row['status']; ?></td>

OR (相同的结果)

<?php
    $thisStatus = $row['status'];

    echo '<th>Status</th>';
    echo '<td class="' . $thisStatus . '">' . $thisStatus . '</td>';
?>

答案 1 :(得分:2)

一种方法是使用状态值将CSS类分配给包含它的元素。

<td class="status-<?php echo strtolower($row['status']); ?>">
    <?php echo $row['status']; ?>
</td>

然后,在样式表中,可以使用所需的颜色定义可能的类。

.status-high {
    color: red;
}
/* etc. */

答案 2 :(得分:0)

也许是这样(未经测试):

<?php
    function color($status){
        switch($status){
            case 'High':
                return 'style="color: red;"';
            break;
            case 'Med':
                return 'style="color: orange;"';
            break;
            case 'Low':
                return 'style="color: blue;"';
            break;
        }
    }
?>


<th>Status</th>
<td <?php echo color($row['status']); ?>><?php echo $row['status']; ?></td>