【发布时间】:2011-03-11 18:52:59
【问题描述】:
首先,我想说我刚刚开始使用 PHP,所以请善待。我想要做的是从 csv 文件中打印一个表格。第一行我想用灰色背景颜色加粗。接下来的行应该与白色和绿色背景交替,文本不是粗体。下面是我的尝试,但它只生成一个带有灰色背景的所有粗体文本的表格
<?php
echo "<html><body><table>\n\n";
$f = fopen("acsv.csv", "r");
$green = "#DDFFCC";
$white = "#FFFFFF";
$grey = "#EEEEEE";
$color = "#EEEEEE";
echo "<table border=1 cellpadding=4 cellspacing=0>";
echo "<tr>";
while (($line = fgetcsv($f)) !== false) {
foreach ($line as $cell) {
if ($color = "#EEEEEE"){
echo "<td bgcolor= ".$color."><b>" . htmlspecialchars($cell) . "</b></td>";
}
else{
echo "<td bgcolor= ".$color.">" . htmlspecialchars($cell) . "</td>";
}
}
echo "<tr>\n";
switch($color){
case "#EEEEEE":
$color = "#FFFFFF";
break;
case "#FFFFFF":
$color = "#DDFFCC";
break;
case "#DDFFCC":
$color = "#FFFFFF";
break;
}
}
fclose($f);
echo "\n</table></body></html>";
编辑:
我也想知道如何用有意义的名字来定义颜色以使代码更具可读性
【问题讨论】:
-
你已经给你的颜色一些可读的名字,但你没有使用它们。您也可以使用 define('COLOR_GREEN', '#DDFFCC') 使它们更具可读性。
-
技术上甚至不需要这样做——如果您使用 HTML 颜色名称而不是十六进制,代码仍然有效。 w3schools.com/html/html_colornames.asp
标签: php html-table import-from-csv