PHP - fgetcsv, Ein- & Ausgabe mit Array

  • Hallo Zusammen,


    vielleicht kann jemand einem blutigen Anfänger helfen :-)


    ich habe eine Datei stat.csv mit


    a1a|b1b|c1c
    a2a|b2b|c2c
    ...


    und möchte diese Werte als Tabelle sortieren lassen.
    Ich habe folgendes probiert:



    <?php
    $statistik = "stat.csv";
    $fp = fopen($statistik,"r");
    $zeile = fgetcsv($fp,500,"|");
    for($x=0;$x<count($zeile);$x++){
    echo "<table><tr><td>";
    echo $zeile[$x][0] ."</td><td>";
    echo $zeile[$x][1] ."</td><td>";
    echo $zeile[$x][2] ."</td></tr></table>";
    }
    fclose($fp);
    ?>


    Die FALSCHE Ausgabe sieht so aus:


    a wann 1 wo a


    b wann 1 wo b


    c wann 1 wo c



    Ich möchte aber gerne haben:


    <table><tr>
    <td>a1a</td>
    <td>b1b</td>
    <td>c1c</td>
    </tr></table>


    <table><tr>
    <td>a2a</td>
    <td>b2b</td>
    <td>c2c</td>
    </tr></table>


    Hab rumprobiert, aber nichts wirklich hat bei mir funktioniert. Anscheinend denk ich noch nicht so wirklich in PHP. Vielleicht wird das noch...


    Vielen Dank für Eure Hilfe


    onion

  • http://de.php.net/manual/de/function.fgetcsv.php


    Direkt der erste Satz:


    Zitat

    fgetcsv -- Liest eine Zeile von der Position des Dateizeigers und prüft diese auf Komma-Separierte-Werte (CSV)


    Du hast aber so geschrieben als würde er das ganze file als array einlesen. Da es aber nur eine Zeile ist, referenzierst du mit deinen [][] die einzelnen Buchstaben, daher die komische Ausgabe.


    Also einfach


    while ( $zeile = fgetcsv($fp,500,"|") )
    {
    /* do this and that */
    }

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!