动态更改表格中的行字体颜色
Posted
技术标签:
【中文标题】动态更改表格中的行字体颜色【英文标题】:Dynamically changing row font color in table 【发布时间】:2014-06-26 19:44:20 【问题描述】:我有一个名为 weather 的数据库表,其中包含以下数据:
Place Temperature
Delhi 30
Bangalore 35
Hyderabad 45
Mumbai 41
现在我使用 php 获取这些数据并在表格中查看它们给客户端。
现在我的问题是如何根据值(即温度)动态更改行字体颜色。 我必须使用 javascript 将函数放在服务器端还是客户端。
我以这种方式应用了逻辑,但还没有到达目的地。
//here is my logic that i have put in my php file while fetching the data
if (row["Temperature"] > row["MaxTemperature"])
this.getStyle().color= "red";
else
this.getStyle().color="yellow";
//I have set a value for MaximumTemperate
【问题讨论】:
为什么要在 PHP 中添加看似 JavaScript 的内容? 【参考方案1】:你好朋友如何设置工作状态,项目名称和模块名称的颜色
$items[]=array(
'title'=>""."Work Status:".$status."\n".'Emp Name : '.$Emp->employee_name."[".$position."]"."\n".'Project Name : '.$project->project_name."\n".'Module Name : '.$module->module_name."",
'start'=>$value->start_date,
'end'=>date('Y-m-d', strtotime('+1 day', strtotime($value->end_date))),
'color'=>'#006699',
【讨论】:
【参考方案2】:<?php
$Color = "Color:yellow;";
if (Temp>MaxTemp)
$Color="Color:red;";
?>
<div style='<?php echo $Color ?>'>TempValue</div>
【讨论】:
【参考方案3】:DEMO
common.php
<?php
$ArrayList[0] = array('place'=>'Delhi','temperature'=>30);
$ArrayList[1] = array('place'=>'Bangalore','temperature'=>35);
$ArrayList[2] = array('place'=>'Hyderabad','temperature'=>45);
$ArrayList[3] = array('place'=>'Mumbai','temperature'=>41);
$MaxTemperature = 40;
?>
index.php
<?php
require_once('common.php');
$Content = '
<table border="1">
<tr>
<td>Place</td>`
<td>Temperature</td>
</tr>
';
foreach ($ArrayList as $k=>$v)
$place = $v['place'];
$temperature = $v['temperature'];
$temperature_color = ($temperature >= $MaxTemperature) ? 'color:red;' : 'color:black;';
$Content .= '
<tr>
<td>'.$place.'</td>
<td style="'.$temperature_color.'">'.$temperature.'</td>
</tr>
';
$Content .= '</table>';
echo $Content;
?>
如果您正在寻找相同的,请告诉我,我会上传文件
【讨论】:
感谢开发者对我的帮助【参考方案4】:可能是这样,如果我错了请纠正我
if ($row['temperature'] > $row['max_temperature'])
echo "<font color='red'> red</font>";
else echo" <font color='yellow'>yellow</font>";
【讨论】:
既然the color attribute offont
is not supported in html5,OP应该使用CSS。【参考方案5】:
我会通过创建几个 css 类来做到这一点,即:
<style>
.red_temperature
color: red;
.yellow_temperature
color:yellow;
</style>
然后在您的 php 中,当您生成客户端代码时,将类添加到 div 的 class="" 中,其中包含您向客户端显示的值。
即:
<?php
// set $classColor variable here based on mysql row
...
echo "<div class='".$classColor."'>74</div>"; // where $classColor = 'yellow_temperature'
?>
这是一个通用的起点,而不是最终的代码,只是试图用正确的思维框架为您指明正确的方向。
【讨论】:
以上是关于动态更改表格中的行字体颜色的主要内容,如果未能解决你的问题,请参考以下文章