根据innerText更改背景颜色?

时间:2013-10-16 14:56:38

标签: php css html-table background-color import-from-csv

我是PHP的新手,我不知道如何解决这个问题。我有一个超大的CSV文件,使用fget作为html表加载。如何浏览特定列并仅将包含“是”一词的该列的特定单元格的td背景颜色更改为绿色?

供参考,这是我的代码:

<!DOCTYPE html>
<html>
<head>
<link href="stylesheets/styles.css" rel="stylesheet" />
</head>
<body>
<?php
echo "<table>\n\n";
$f = fopen("market_research.csv", "r");
while (($line = fgetcsv($f)) !== false) {
        echo "<tr>";
        foreach ($line as $cell) {
            if (substr($cell, 0,4) == "http") {
                echo "<td>" ."<a href='" . $cell . "'>Go!</a>";
            } else
                echo "<td>" . htmlspecialchars($cell);
        }
        echo "<tr>\n";
}
fclose($f);
echo "\n</table></body></html>";


?>

这是我目前的CSS:

tr {background-color: #f7f7f7;}
body {background-color:#8b9dc3;}
td:first-child { 
        text-align: center;
        font-weight: bold;
        padding-left: 5px;
        padding-right: 5px;
}

td:nth-child(odd)
{
background-color: #FFFFFF;
}

tr:first-child {
        background-color: #FFFFFF !important;
        text-align: center;
        font-weight: bold;
        font-size: 110%;
        height: 50px;
}

td {
        padding-left: 5px;
        padding-right: 5px;
}

2 个答案:

答案 0 :(得分:1)

您可以这样设置:

希望这会对你有所帮助

您需要使用data-attr

生成<p>时向您的元素<td>添加fget()
<p data-val="Yes">Yes</p>

你的css会是这样的:

p[data-val="Yes"] {background-color:green;}

Working Example

答案 1 :(得分:0)

您需要为这些单元格设置一个类。这标识了一个组,然后您可以在样式表或标签中设置这些样式。

添加一个额外的IF语句,检查您的条件“$ cell contains'yes'”

你可以在这样的字符串中检查一个字符串,这个例子$ a是你的变量,你正在检查字符串'mattiscool' - 如果找到它然后输出'true'

if(strpos($ a,'mattiscool')!== false){     echo'true'; }

相反,我们想要输出您的TD单元格和类标签。 因此,在标签中添加部分if语句打印 - 如此

<td Class="myfirstclass">

然后在样式表中添加此类的样式 - 例如。

myfirstclass{
font-family:Verdana;
font-size:16pt;
}

这是你在找什么?