2013-10-16 198 views
0

我对PHP很新,我不知道如何去做这件事。我有一个超大的CSV文件,使用fget将其作为html表格加载。我如何通过特定列并将仅包含单词“是”的该列的特定单元格的td背景颜色更改为绿色?根据innerText更改背景颜色?

仅供参考,这里是我的代码:

<!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

将'是'在任何单元格(td)&是它只是'是'作为整个字符串? –

+0

你是否熟悉javascript或jQuery? – dowomenfart

+0

你能告诉你'td'里的'p'怎么样?我的意思是一个简单的原型,它是否只包含'p'或者其他什么你在'td'里面? –

回答

0

您需要设置一类这些细胞。这标识了一个组,然后您可以在样式表或标签中对其进行设置。

添加其他IF,检查你的病情陈述“$细胞含有‘是’”

您可以为您在这样的字符串的字符串,这个例子$一个是你的变量,你检查字符串'mattiscool' - 如果它发现它会输出'true'

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

相反,我们想输出您的TD细胞加上一个类标记。 所以标签中添加部分的if语句打印的 - 像这样

<td Class="myfirstclass"> 

然后在你的样式表添加样式该类 - 例如。

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

这是你在找什么?

1

您可以设置它是这样的:

希望这将帮助你

您需要添加data-attr到你的元素<p>同时产生使用fget()

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

<td> S和你的CSS将是这样的:

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

Working Example