根据变量值改变php echo语句中的字体颜色


Change font colour inside php echo statement depending on variable value

我使用PHP从MySQL数据库中提取数据到网页上的表。这工作得很好,但我想根据变量的值改变一些输出的字体。

输出代码如下所示:

<td><font face="Arial, Helvetica, sans-serif"><?php echo $variable; ?></font></td>

如果$variable的值小于0,我想将字体更改为红色。

试试这个:

<td><span style="font-family:Arial, Helvetica, sans-serif;<?php if($variable<0)echo "color:red"?>"><?php echo $variable; ?></span></td>

注意,<font>标签在很久以前就被弃用了,所以我用<span>标签代替了它。

从HTML 4.01开始,FONT标签就被贬低了,你应该用CSS代替。

内联:

<td style='color:red;'><?php echo $variable; ?></td>
CSS:

.tdRed{
color:red;
}
<td class='tdRed'><?php echo $variable; ?></td>

编辑:

要用某个变量自动更改它,可以将其包含在:

<td <?php if($variable == 'something'){ php?>class='tdRed'<?php } php?>><?php echo $variable; ?></td>

我不会使用font标记或内联css,但类:

<td class="font_class <?php echo ($variable < 0) ? 'alert' : ''; ?>><?php echo $variable; ?></td>

和在css中:

.font_class {
  font-family: Arial, Helvetica, sans-serif;
}
.alert {
  color: red;
}

font标签中嵌入if

<font face="Arial, Helvetica, sans-serif" <?php if ($variable < 0): ?>color="red"<?php endif; ?>><?php echo $variable; ?></font>

最好的方法是在PhP中使用CSS和test value

HTML/PhP看起来像:

<td<?php if($variable<0) echo 'class="subzero"'; ?>><?php echo $variable; ?></td>

和CSS:

td.subzero {color : #FF0000;}

你的字体也应该在css中设置

<td style="font face='Arial, Helvetica, sans-serif;' <?php if($variable == 0){echo "font-color:red;"} ?> ">
<?php echo $variable; } ?>
</td>

如果您知道$变量可能呈现的所有结果,那么也可以使用Switch语句而不是If语句。在有很多可预测结果的情况下,开关会更好地使用。

Adam92

我的PHP有点生疏,但这里是总体思路:

<td><font face="<? if ($variable == [whatever]){ ?>Arial, Helvetica, sans-serif" <? else if ($variable == [whatever]) {?> Unicorn Font <? } ?> ><?php echo $variable; ?></font></td>

用你想要的字体替换unicorn font

或者,正如我刚刚意识到的,如果你想让它变成红色:

<? $color = $variable < 0 : "red" ? ""> ?>
<td><font><span style="font-family: Arial, Helvetica, sans-serif; color:<? echo $color ?>"><?php echo $variable; ?></span></td>