2016-11-30 59 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); 
} 
?>