Michael2008: Einzelne Felder einer csv Datei in PHP auslesen

Hallo Forum

Bei einem online Fussballmanager kann man seine Spieler mit allen Daten als CSV Datei speichern. Nun habe ich eine Homepage für meinen virtuellen Verein gestaltet. Ich möchte nun die Spielerliste etwas aufpeppen. Damit ich variablen Daten die jeden Montag ändern (zb Form, Kondition, Marktwert) nicht jedesmal von Hand eingeben möchte, bin ich dabei die csv Datei mit PHP auszulesen. Ich möchte das so machen, dass ich schlussendlich von jedem Spieler eine Tabelle habe wo ich die gewünschten Daten drinne hab.

Ich muss also aus einer CSV Datei eine bestimmte Zelle / Feld auswählen können und im PHP File wiedergeben. Ich hab mich nun einige Stunden durch verschiedenste Foren und Seiten gewühlt. Momentan bin ich soweit, dass ich 1. weiss wie ich die ganze CSV einlesen kann und 2. nur eine gewisse Spalte.

Nun brauch ich aber Hilfe: Ich habe nirgends etwas gefunden wie ich nur ein ganz bestimmtes Feld auswählen kann (zB Zeile 2 / Spalte 4).

Kann mir da jemand helfen?

Ich schreibe unten mal den Code hin, mit welchem ich die einzelne Spalte ausgelesen habe:

<?php

$handle = fopen('csv_kader_aktive.csv', 'r');
        while($data = fgetcsv($handle, 550, ';'))
        {
        echo "<tr>";
        echo "<td width="180px">". $data[0]."</td>";
        echo "</tr>";
         }
        fclose($handle);
        ?>

  1. Hi,

    Nun brauch ich aber Hilfe: Ich habe nirgends etwas gefunden wie ich nur ein ganz bestimmtes Feld auswählen kann (zB Zeile 2 / Spalte 4).

    das liegt daran, dass Dateisysteme nicht für sowas gedacht sind. Entweder liest Du also *alle* Zeilen bis zu der gewünschten aus, oder aber Du verwendest eine relationale Datenbank.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. Hi

    Versuchs mal damit:
    <?php

    print_r(buildStock('stock.csv'));

    function buildStock($File) {
            $handle = fopen($File, "r");
            $fields = fgetcsv($handle, 1000, ",");

    while($data = fgetcsv($handle, 1000, ",")) {
                $detail[] = $data;
            }

    $x = 0;
            $y = 0;

    foreach($detail as $i) {
                foreach($fields as $z) {
                    $stock[$x][$z] = $i[$y];
                    $y++;
                }
                $y = 0;
                $x++;
            }
            return $stock;
        }
    ?>

    Oder es gibt viele Beispiele bei
    http://www.php.net/fgetcsv

    enjoy

    1. Versuchs mal damit:

      @Chris

      Danke für die Hilfe. Leider wird auch nur die ganze CSV ausgelesen... Oder muss ich in Deinem Script noch angaben machen welches Feld ich aufrufen lassen will?