我刚刚开始用php编程。
我做了一个表,从数据库中返回值。我正在尝试执行以下操作:通过其具有的值更改第三列的颜色。
我当时是这样想的,但价值观是重复的,颜色也不是正确的方法。
谁能帮我吗?
你明白我的问题吗?
谢谢你们。我带来的不便表示歉意。
代码:
<table style="width:324px;" border="3" cellspacing="1" cellpadding="1">
<tr>
<td style="background-color:#A4A4A4;">
<b><font face="Arial, Helvetica, sans-serif">Task</font></b>
</td>
<td style="background-color:#A4A4A4;">
<b><font face="Arial, Helvetica, sans-serif">deadline</font></b>
</td>
<td style="background-color:#A4A4A4;">
<b><font face="Arial, Helvetica, sans-serif">Status</font></b>
</td>
</tr>
<?php
$i=0;
while ($i < $num)
{
$f1=mysql_result($result,$i,"Task");
$f2=mysql_result($result,$i,"deadline");
$f3=mysql_result($result,$i,"status");
?>
<tr style="background-color:#A4A4A4;">
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f1; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f2; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td>
<?
if($f3==2)
{
// Display RED
?>
<td style="background-color:#FF0;"><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td>
<?
}
elseif($f3==1)
{
// Display YELLOW
?>
<td style="background-color:#0F0;"><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td>
<?
}
else
{
?>
<td style="background-color:#F00;"><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td>
<?
}
?>
</tr>
<?php
$i++;
}
?>
</table>
代码结果:
解决了
感谢大家的帮助。状态是记录在数据库中的预定义值。只有介于1到4之间的范围,这样分辨率才能正确提供@Daniel Andre。对于我来说,尝试理解更多的php都是有效的,但是它是如此的简单。再次感谢大家的时间和帮助。
最终结果是:
<table style="width:324px;" border="3" cellspacing="1" cellpadding="1">
<tr>
<td style="background-color:#A4A4A4;">
<b><font face="Arial, Helvetica, sans-serif">Tarefa</font></b>
</td>
<td style="background-color:#A4A4A4;">
<b><font face="Arial, Helvetica, sans-serif">Prazo</font></b>
</td>
<td style="background-color:#A4A4A4;">
<b><font face="Arial, Helvetica, sans-serif">Status</font></b>
</td>
</tr>
<?php
$i=0;while ($i < $num) {
$f1=mysql_result($result,$i,"idTarefa");
$f2=mysql_result($result,$i,"PrazoExecucao");
$f3=mysql_result($result,$i,"status");
?>
<tr style="background-color:#A4A4A4;">
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f1; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f2; ?></font></td>
<!--<td><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td>-->
<?php
$status_colors = array(1 => '#0000FF', 2 => '#00FF00', 3 => '#FFFF00', 4 => '#FF0000');
?>
<td style="background-color: <?php echo $status_colors[$f3]; ?>;">
</tr>
<?php
$i++;
}
?>
</table>
如果状态是静态的(意味着它们没有改变,但是是一组固定的状态),则可以制作一个将状态映射到颜色的php数组:
<?php
$status_colors = array(1 => '#FF0', 2 => '#F0F', 3 => '#0FF', 4 => '#0F0');
然后,在您的td中,使用正确的状态颜色:
<td style="background-color: <?php echo $status_colors[$f3]; ?>;">
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句