我是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;
}
答案 0 :(得分:1)
您可以这样设置:
希望这会对你有所帮助
您需要使用data-attr
<p>
时向您的元素<td>
添加fget()
<p data-val="Yes">Yes</p>
你的css会是这样的:
p[data-val="Yes"] {background-color:green;}
答案 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;
}
这是你在找什么?