$html -> holds the html table code
$query ->holds the data fetched from table(Oracle)
我将$ query中的数据插入到带有基于条件
的颜色编码的$ html中代码:
while (my @rec = $query->fetchrow_array() ) {
my $file_status = $rec[9];
my $data_status = $rec[11];
my $data_status2 = $rec[13];
if ($file_status eq "Files Received"
|| $data_status eq "Data Not Found"
|| $data_status2 eq "Partial Data") {
# This changes the font color for all columns in a single row.
# Is there a way to color code only the specific column?
$html=$html."\n<font size=3 color=#F12A3D>";
}
else {
$html = $html."\n<font size=3><tr>";
}
foreach my $x (@rec) {
if (! defined $x) {
$x = "";
}
$html = $html."<td>$x</td>"
}
$html = $html."</tr>"
}
如果列值与条件匹配,请告诉我是否可以使用perl中的html对特定列进行颜色编码(例如,如果第8列=“a”表示记录,则必须打印仅包含第2列的行红色)。如果需要,我可以共享此脚本的完整perl代码。
谢谢, 斯科特
答案 0 :(得分:0)
首先,它是2017年。我们不再在HTML中使用<font>
标签了。最好在HTML标记上设置类,然后使用CSS更改外观。
如果要为单个表格单元格而不是整行进行着色,那么只需将逻辑移动到生成表格单元格的代码中即可。
foreach my $cell_data (@rec) {
$cell_data //= ''; # Convert undefined values to empty strings
my $class;
if ($cell_data eq 'a') { # for example
$class = 'hilite';
}
$html .= '<td';
$html .= " class='$class'" if $class;
$html .= ">$cell_data</td>";
}
我还要指出,将原始HTML放在你的Perl代码中是一个非常糟糕的主意。我强烈建议您改为templating solution。
答案 1 :(得分:-1)
int badgeCount = 1;
ShortcutBadger.applyCount(context, badgeCount);