通过mYsql QUERY的结果更改颜色

时间:2014-08-08 11:33:08

标签: php mysql

我非常喜欢这个,并且有一个显示代理状态的php内置网页。状态可能导致“就绪”“忙”“关”我想根据状态更改文本和/或字段的颜色。下面是显示状态的php文件中的行。我有第二个文件执行MySQL查询以获得结果:

<td align="center" style="font-size:30px;text-shadow:2px 2px #000000; width:50%; height:50px;"><?php echo htmlspecialchars($agentstate['state']) ?></td>

2 个答案:

答案 0 :(得分:0)

你可以做的是创建一个这样的辅助函数:

function getAgentState($state) {
    $color = '#';
    switch ($state) {
        case 'Ready': $color .= '008000'; break; // Green
        case 'Busy': $color .= 'FF5500'; break; // Orange
        case 'Off': $color .= 'FF0000'; break; // Red
        default: $color = .= '000000'; break; // Black - no state match
    }
    echo '<span style="color: '. $color .'">'. $state .'</span>';
}

然后像这样使用它:

<td align="center" style="font-size:30px;text-shadow:2px 2px #000000; width:50%; height:50px;">
    <?php getAgentState($agentstate['state']) ?>
</td>

答案 1 :(得分:0)

快速而肮脏的解决方案是构建一个数组,其中键是各种代理状态。

<?php
$states=array(
    'Ready'=>'#ff0000',
    'Busy'=>'#00ff00',
    'Off'=>'#0000ff'
    );
$color=in_array($agentstate['state'],$states)?$state[$agentstate['state']]:'#f0f0f0';

echo '<td align="center" style="color:'.$color.';">'.htmlspecialchars($agentstate['state']).'</td>';
?>

如果密钥存在于$states数组中,它将使用相应的值,否则使用默认值。