Tabellendarstellung in PHP

  • Hallo,
    ich versuche Daten aus der Datei "produkte.csv" in einer Tabelle darzustellen und zwar sollte dies so aussehen:


    Erscheinungsbild im Browser:


    Artikel Bezeichnung Einzelpreis
    xc3 Hemd 35,33 Icon
    usw.


    Das heisst die erste Zeile sollte fett geschrieben sein und auf den den folgenden Zeilen sollte nach dem Preis noch ein Icon (Einkaufswagen) erscheinen.


    Die Daten und auch die Tabelle erscheinen im Browsers korrekt, ausser das die Überschrift nicht fett erscheint sowie keine Icons. Ich habe versucht die Formatierung zu definieren, aber entweder kommt alles fett und mit Icon versehen oder alles in normaler Schrift und ohne Icon. Eine Trennung konnte ich nicht machen. Unten stehend habe ich mal meinen Codeschnipsel beigefügt. Ist es überhaupt möglich dies so umzusetzen?


    Code:


    <?php
    $fp = fopen("produkte.csv","r");
    $sep = ";";


    $fmt1 = "<tr align='left'><td>%s</td><td>%s</td><td>%s</td><td>&nbsp;</td></tr>";

    $fmt2 = "<tr align='left'><td>%s</td><td>%s</td><td>%s</td><td><img src='shopping.gif' width='30' height='30' alt='cart'></td></tr>";





    while($zeile = fgets($fp,100)){
    //Key holen
    $key = substr($zeile,0,strpos($zeile,$sep));
    //Value ermitteln
    $value = substr(strstr($zeile,$sep),1);
    $zeilen[$key] = $value;
    }


    echo "<table border='1'>";



    foreach($zeilen as $key => $value)
    {
    $DS = explode($sep,$value);
    printf($fmt1,$key,$DS[0],$DS[1]);


    }
    echo "</table>";
    fclose($fp);
    ?>


    Danke für jegliche Tipps! ;)

  • Fett Formatierung würde ich einfach über die Tabellen Definition oder über CSS in $fmt1 machen.


    Nun ist ja auch klar, dass es so erscheint, wie Du es beschreibst, Du nutzt ja auch nur $fmt1 und nicht 2
    Gehe über eine Zähler
    $i = 1;
    foreach($zeilen as $key => $value)
    {
    $DS = explode($sep,$value);
    if($i ==1) printf($fmt1,$key,$DS[0],$DS[1]);
    else printf($fmt2,$key,$DS[0],$DS[1]);
    $i++;
    }

  • Danke Mark! Jetzt funzt es prima. Hätte gleich selber drauf kommen sollen. Den Hinweis von Rizzo werd ich mir auch gleich mal noch genauer angucken....:)