2010-09-02 52 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