Ergebnis 1 bis 2 von 2
  1. #1
    ▄▀\ FrEaK! /▀▄ Avatar von mario439
    Registriert seit
    Feb 2009
    Ort
    Bayern / Schwaben
    Beiträge
    423

    Standard [PHP] CSV Datei Einlesen, Probleme mit Arrays

    Hallo,
    ich möchte eine Preisliste in Form einer CSV Datei einlesen. Natürlich stehen in der CSV Datei nicht nur die Preise sondern auch jede Menge anderes Zeug das ich nicht brauche und somit "herausfiltern" will.

    Zu meinem Ansatz:
    Die CSV Datei wird schön eingelesen, Zeilenumbrüche stimmen, Trennzeichen stimmen ... Also das passt alles soweit. Ich habe nun Probleme Nur einzlene Teile des Arrays auszugeben in dem Die Infos stehen.
    Also jetzt wird einfach alles aufgelistet aber ich will eben nur die Preistabelle angezeigt haben.

    Ich weiß da hapert's bei mir ein bisschen an Kenntnisse über Arrays aber die haben mich bis jetzt eigentlich nie richtig Interessiert.

    Funktionert das, dass man einfach sagt ich will die Zelle A5 und D2 angezeigt bekommen also das man die Infos aus dem Array in einzelne Variablen schreibt, die den Namen der Zellen haben ?!?!

    Hier der Code so weit ich gekommen bin:
    PHP-Code:
    <?php
             $csv_datei 
    "Preisliste.csv";
             
    $feler_trenner ";";
             
    $zeilen_trenner "\r\n";
             if (@
    file_exists($csv_datei) == false) {
                 echo 
    'Die CSV Datei: '$csv_datei.' gibt es nicht!';
             } 
             else 
             {
                 
    $datei_inhalt = @file_get_contents($csv_datei);
                 
    $zeilen explode($zeilen_trenner$datei_inhalt);
                 
    $anzahl_zeilen count($zeilen);
                 echo 
    'Es wurden in der CSV Datei: '.$csv_datei.' insgesamt '.($anzahl_zeilen-1).' Zeilen gefunden.<br><br>';
                 if (
    is_array($zeilen) == true) {
                     foreach(
    $zeilen as $zeile) {
                         
    $felder explode($feler_trenner$zeile);
                         
    $i 0;
                         if (
    is_array($felder) == true) {
                             foreach(
    $felder as $felde) {
                                 if (
    $felde != '') {
                                     echo ((
    $i != 0) ? ', ':''). str_replace('"',''$felde);
                                     
    $i++;
                                 }
                             }
                         }
                         echo 
    '<br>';
                     }
                 }
             }
         
    ?>

    EDIT: Was ich noch dazu sagen könnte ist, dass im Array $zeilen alle einzelnen Zeilen der CSV gespeichert sind also .. $zeilen[0]=>Zeile1; $zeilen[1]=>Zeile2...
    Geändert von mario439 (19. 01. 2012 um 11:06 Uhr)

  2. #2
    Mitglied
    Registriert seit
    Oct 2007
    Beiträge
    1.007

    Standard Re: [PHP] CSV Datei Einlesen, Probleme mit Arrays

    Was genau ist das Problem? Anstatt das du die Felder alle ausgibst speicherst du einfach den Inhalt in einem 2-dimensionalen Array. Dann kannst du mit $array[0][0] auf A1 zugreifen, $array[3][4] entspräche D5.

    btw.: Es gibt eine Funktion fgetcsv.

  3.  
     
     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •