• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Daten aus einer CSV Datei einlesen, formatieren und als Tabelle ausgeben.

Geissensepp

Neues Mitglied
Hallo,
ich müßte aus einer *.csv Datei eine Tabelle erstellen. Das funktioniert auch schon grundsätzlich.
In der Tabelle gibt es 4 Spalten, wobei in jeder zweiten Zeile der csv die ersten 3 Spalten leer bleiben und in der vierten Spalte ist ein Text. Siehe Bild im Anhang. Jede zweite Zeile soll unterstrichen werden.
Soweit funktioniert es, nun aber möchte ich den Text in der dritten Spalte in einer anderen Farbe. Und da komme ich nicht weiter.
------------------------------------------------------------------------------------------
if($fileurl!="")
{
$file = fopen('images/'.$fileurl,"r");
echo '<table class="csvtable'.$moduleclass_sfx.'">';
echo '<style> tr:nth-child(even){border-bottom: 1px solid #cccccc; color: #ffff6d;} </style>';
if($i='2'){ echo '<style> color: #ff9933 </style>';}
echo '<tbody>';
while($f=fgetcsv($file))
{
echo '<tr>';
for($i=0;$i<count($f);$i++)
-----------------------------------------------------------------Das müßte hier passieren-------------------------
if($i=2) {echo'<style="color:#FF9933";></style>}
-----------------------------------------------------------------
{
echo '<td>'.$f[$i].'</td>';
}
echo '</tr>';
}
echo '</tbody>';
echo '</table>';
fclose($file);
}
------------------------------------------------------------------------------------------
Das müßte vermutlich passieren wenn der Schleifenzähler $i=2 ist. Ich bekomme aber nur eine weiße Seite oder einen Fehler.
Wäre sehr nett, wenn mir jemand helfen könnte.
LG
 

Anhänge

  • Bild1.jpg
    Bild1.jpg
    92,1 KB · Aufrufe: 9
Werbung:
PHP:
if($i='2')
Das ist kein Vergleich, sondern eine Zuweisung.

Und dein erzeugter HTML-Code ist völlig kaputt!
 
Sorry, hab ich übersehen (Ich seh schon den Wald vor lauter Bäumen nicht mehr!)
Aber so
if($i=='2') {echo'<style="color:#FF9933"></style>';}
funktionierts auch nicht. Die Schrift in Spalte 2 ist immer noch gleich.
 
Werbung:
So kaputt kann er wieder nicht sein, denn im großen und ganzen funktioniert es ja. Ich hätte nur die 3. Spalte Schrift in einer anderen Farbe.
 
So kaputt kann er wieder nicht sein, denn im großen und ganzen funktioniert es ja.
Doch ist er, allerdings sind die Browser in der Lage, selbst kaputten HTML-Code einigermaßen gut darzustellen.


PHP:
<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSV-Datei anzeigen</title>
    <style> 
      * { color: #000000; }
      table, td, tr {
         border: 1px solid #cccccc; 
         border-collapse: collapse;
      }
      td { padding: 4px; }
      td:nth-child(3) { color: red; }
   </style>
  </head>
  <body>
  <table>
<?php
    $fp = fopen("test.csv", "r");
    
    if ($fp)
    {
       while($data = fgetcsv($fp, 200, ";"))
       {
          echo "<tr>
                 <td>" . $data[0] . "</td>
                 <td>" . $data[1] . "</td>
                 <td>" . $data[2] . "</td>
                 <td>" . $data[3] . "</td>
                </tr>";
       }
    }
?>
  </table>
  </body>
</html>
 
Werbung:
Werbung:
Zurück
Oben