2013-10-16 234 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