2010-09-02 5 views
1

J'ai besoin d'aide pour peaufiner ce code php afin d'imprimer une valeur par défaut pour une colonne spécifique.aide php - création d'une valeur par défaut pour une colonne spécifique sur la table html

Je suis en train d'imprimer les colonnes d'en-tête de colonne suivante dans un tableau: Host Target Date Set Time Length Size Status

Il y a des cas dans le fichier d'entrée « tst.txt » où je n'ai pas de données pour les dernières colonnes (3) Length Size Status

au départ, je crée une des cellules vides pour ces données, mais maintenant je veux mettre des données par défaut pour que la colonne: Status où si l'état est nul alors imprimer CHECK FOR ERRORS comme un exemple.

J'ai essayé de coder cela ci-dessous, mais c'est le faire pour chaque cellule vide, mais je veux juste le faire pour l'état des colonnes. Merci!

<?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); 
?> 

Répondre

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>'; 
     } 
} 

est probablement ce que vous cherchez.

+0

merci beaucoup! ça marche. Je suppose, si je veux les colonnes 'Length' et' Size' avec leurs propres valeurs par défaut, ajoutez simplement d'autres conditions elseif? Merci encore. – cjd143SD

+0

C'est exact. :) – sleepynate

Questions connexes