使用php从CSV文件生成彩色表格

使用php从CSV文件生成彩色表格,php,html-table,import-from-csv,Php,Html Table,Import From Csv,首先,我想说的是,我刚刚开始学习PHP,所以请友好一点。我试图做的是从csv文件打印一个表。第一行我想用灰色背景色加粗。下一行应交替使用白色和绿色背景,文本不加粗。下面是我的尝试,但它只是生成了一个表格,所有粗体文本都有灰色背景 <?php echo "<html><body><table>\n\n"; $f = fopen("acsv.csv", "r"); $green = "#DDFFCC"; $white = "#FFFFFF"; $grey

首先,我想说的是,我刚刚开始学习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>";

switch语句需要在foreach内部,否则颜色只有在循环完成迭代后才会改变

<?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>";
            }
        switch($color){
            case "#EEEEEE":
                $color = "#FFFFFF";
                break;
            case "#FFFFFF":
                $color = "#DDFFCC";
                break;
            case "#DDFFCC":
                $color = "#FFFFFF";
                break;
        }



        }
        echo "</tr><tr>\n";

}
fclose($f);
echo "\n</table></body></html>";

switch语句需要在foreach内部,否则颜色只有在循环完成迭代后才会改变

<?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>";
            }
        switch($color){
            case "#EEEEEE":
                $color = "#FFFFFF";
                break;
            case "#FFFFFF":
                $color = "#DDFFCC";
                break;
            case "#DDFFCC":
                $color = "#FFFFFF";
                break;
        }



        }
        echo "</tr><tr>\n";

}
fclose($f);
echo "\n</table></body></html>";

您需要关闭标签:

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>`<tr>\n";
foreach($line作为$cell){
如果($color=“#EEEEEE”){
echo“.htmlspecialchars($cell)”;
}
否则{
echo“.htmlspecialchars($cell)”;
}
}
回显“`\n”;

您需要关闭标签:

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>`<tr>\n";
foreach($line作为$cell){
如果($color=“#EEEEEE”){
echo“.htmlspecialchars($cell)”;
}
否则{
echo“.htmlspecialchars($cell)”;
}
}
回显“`\n”;

要检查$color是否设置为“#EEEEEE”,需要在中使用双等于(=),类似于C/C++/C#。否则,您只是告诉PHP将$color设置为“#EEEEEE”


要检查$color是否设置为“#EEEEEE”,需要在中使用双等于(=),类似于C/C++/C#。否则,您只是告诉PHP将$color设置为“#EEEEEE”


你已经给了你的颜色一些可读的名字,但你没有使用它们。你也可以使用define('COLOR_GREEN','#DDFFCC')使它们更具可读性。从技术上讲,甚至不需要这样做——如果你使用HTML颜色名称而不是十六进制,代码仍然可以工作。你已经给了你的颜色一些可读的名字,但你没有使用它们。你也可以使用define('COLOR_GREEN','#DDFFCC')使它们更具可读性。从技术上讲,甚至不需要这样做——如果你使用HTML颜色名称而不是十六进制,代码仍然可以工作。阿格。。。。我不应该错过这个lol。我把颜色分配给灰色,这总是正确的,因此我总是变得大胆,有灰色背景:如果你能告诉我如何定义颜色,你就会赢。。例如,在C语言中,我会做一些类似于#define gray“#EEEEEE”的事情,这样我的代码就更易于阅读。我承认我自己对PHP是新手。define(“gray”,“#EEEEEE”)格式中有一个define函数,但我不确定它是否能按您的预期方式工作。如果没有,我会继续做你正在做的事情,只需将If语句更改为($color==gray),并切换到case$grayArg。。。。我不应该错过这个lol。我把颜色分配给灰色,这总是正确的,因此我总是变得大胆,有灰色背景:如果你能告诉我如何定义颜色,你就会赢。。例如,在C语言中,我会做一些类似于#define gray“#EEEEEE”的事情,这样我的代码就更易于阅读。我承认我自己对PHP是新手。define(“gray”,“#EEEEEE”)格式中有一个define函数,但我不确定它是否能按您的预期方式工作。如果没有,我会继续做你正在做的事情,把If语句改成($color==gray),把case改成$gray