0

我对 PHP 很陌生,我不知道该怎么做。我有一个使用 fget 加载为 html 表的超大 CSV 文件。如何浏览特定列并将仅包含“是”一词的该列的特定单元格的 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;
}
4

2 回答 2

1

你可以这样设置:

希望对你有帮助

您需要在使用生成时添加data-attr到您的元素<p><td>fget()

<p data-val="Yes">Yes</p>

你的CSS会是这样的:

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

工作示例

于 2013-10-16T15:15:18.967 回答
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;
}

这就是你要找的?

于 2013-10-16T15:02:26.583 回答