2010-09-02 103 views
1

我需要一些幫助,調整此php代碼以打印出特定列的默認值。php幫助 - 爲html表上的特定列創建默認值

我打印出下面的列標題表中的列: Host Target Date Set Time Length Size Status

裏有「tst.txt」輸入文件情況下,我沒有過去(3)列的數據Length Size Status

我最初創建一個空白單元格對於這個數據,但現在我想提出一個默認的數據僅列:Status 其中,如果狀態爲null,則打印CHECK FOR ERRORS作爲一個例子。

我試過在下面編碼,但是它是爲每個空白單元格做的,但我只是想要列狀態。謝謝!

<?php 
$data = array(); 
$InputFile = file("tst.txt"); 

foreach ($InputFile as $line){ 
    preg_match_all("/([0-9])-([^=]+)=([^;]+);/", $line, $matches, PREG_SET_ORDER); 
    $LineData = array(); 
    foreach ($matches as $information) 
    { 
    $LineData[$information[2]] = $information[3]; 
    } 
    $timestamp = strtotime($LineData["Date"]." ".$LineData["Time"]); 
    $data[$timestamp] = $LineData; 
} 
ksort($data); 

$keys = array('Host', 'Target','Date','Set','Time', 'Length','Size','Status'); 
echo '<table><tr>'; 
foreach ($keys as $column) 
    echo '<th>' . $column . '</th>'; 
    echo '</tr>'; 

foreach ($data as $row){ 
    echo '<tr>'; 
    foreach ($keys as $column) 
     if (isset($row[$column])){ 
      echo '<td>' . $row[$column]; 
      } else { 
      //echo '<td>' . '' . '</td>'; 
      echo '<td>' . 'Check for Errors' . '</td>'; 
     } 
} 
echo '</table>'; 
//print_r($data); 
?> 

回答

1
foreach ($data as $row){ 
    echo '<tr>'; 
    foreach ($keys as $column) 
     if (isset($row[$column])){ 
      echo '<td>' . $row[$column] . '</td>'; 
     } elseif ($column == 'Status') { 
      echo '<td> Check for Errors </td>'; 
     } else { 
      echo '<td> </td>'; 
     } 
} 

可能是你在找什麼。

+0

非常感謝!這樣可行。我想,如果我想用自己的默認值列'長度'和'大小',只需添加其他elseif條件吧?再次感謝。 – cjd143SD 2010-09-02 21:13:01

+0

這是正確的。 :) – sleepynate 2010-09-03 18:11:38