2016-11-30 57 views
-2

我试图读取一个txt文件并通过PHP显示内容。加载并显示它工作正常。我希望不同的词有不同的颜色。但第一行从来没有得到正确的颜色。循环中第一行的PHP颜色

<HTML> 
<HEAD> 
</HEAD> 
<BODY> 

<?php 
$fontcolor=Black; 
$row = 1; 

echo "<TABLE width=100%>"; 
echo "<TD>"; 
### State section 
if (($handle = fopen("sdmon12images\State.txt", "r")) !== FALSE) { 
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
     $num = count($data); 
     $row++; 
     for ($c=0; $c < $num; $c++) { 
      if ($data[$c] == "Busy"): 
       $fontcolor=Red; 
      endif; 
      if ($data[$c] == "Pause"): 
       $fontcolor=Blue; 
      endif; 
      if ($data[$c] == "Idle"): 
       $fontcolor=Green; 
      endif; 
      if ($data[$c] == "Post processing"): 
       $fontcolor=Orange; 
      endif;   
      echo "<font color=$fontcolor>" . $data[$c] . "<br />\n"; 
      $fontcolor=Black; 
     } 
    } 
    fclose($handle); 
} 

echo "</TD>"; 
echo "</TABLE>"; 
?> 
</HTML> 

结果是第一行是标准颜色,其他行颜色正确。我如何获得正确颜色的第一行?

+0

你能向我们展示的TXT文件的第一行?此外,您的HTML代码中有很多错误。 – roberto06

+0

改善您的格式。 –

回答

0

我认为这应该工作:

<HTML> 
<HEAD> 
</HEAD> 
<BODY> 

<?php 
$fontcolor="Black"; 
$row = 1; 

echo "<table width='100%'>"; 
echo "<td>"; 
### State section 
if (($handle = fopen("sdmon12images\State.txt", "r")) !== FALSE) { 
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
     $num = count($data); 
     $row++; 
     for ($c=0; $c < $num; $c++) { 
      if ($data[$c] == "Busy"): 
       $fontcolor="Red"; 
      endif; 
      if ($data[$c] == "Pause"): 
       $fontcolor="Blue"; 
      endif; 
      if ($data[$c] == "Idle"): 
       $fontcolor="Green"; 
      endif; 
      if ($data[$c] == "Post processing"): 
       $fontcolor="Orange"; 
      endif;   
      echo "<font color='$fontcolor'>" . $data[$c] . "<br />\n"; 
      $fontcolor="Black"; 
     } 
    } 
    fclose($handle); 
} 
?>