CSV in PHP einlesen und als Tabelle ausgeben

    • PHP:

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • CSV in PHP einlesen und als Tabelle ausgeben

      Hallo,

      Ich werde langsam ratlos.
      Ich bin kein Programmierer und habe relativ wenig mit Informatik zu tun als Anfang.
      Ich bekomme jede Stunde eine CSV Datei per Mail gesendet. Diese wird automatisch gespeichert unter A1.csv
      Die Date sieht beispielsweise folgendermassen aus (habe Dorf und Namen geändert):
      Hamburg;AM1;;;
      Montag 08/01/2018;;;;
      00:00;06:00;5555 KLEIN Peter;1234 MÜLLER Jakob;
      06:00;08:00;2222 MÜLLER Jakob;4567 KLEIN Peter;
      Dienstag 09/01/2018;;;;
      12:00;13:00;6666 PETRA Petra;9999 TOBI Tobias; usw und so fort

      Manchmal steht auch ein dritter Name mit drin:
      18:00;20:00;7777 MÜLLER Paul;1111 KLEIN Kleini;2555 HOFFMANN Petra;

      Hamburg und AM1 sollten ignoriert werden.
      Danach sollten folgende Tabellen erscheinen:
      Datum, Schichtbeginn, Schichtende, Personal 1, Personal 2, Personal 3

      Ich habe folgenden Code eingebaut:

      PHP-Quellcode

      1. <!doctype html>
      2. <html lang="de">
      3. <head>
      4. <meta charset="utf-8">
      5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
      6. <title>SCHICHTEN</title>
      7. <link rel="stylesheet" href="../formate.css">
      8. </head>
      9. <body>
      10. <p><img id="logo-l" src="../img/logo.png" width="201" height="216" alt="Logo"</p>
      11. <p><img id="logo-r" src="../img/logo.png" width="201" height="216" alt="Logo"</p>
      12. <h2>SCHICHT A1</h2>
      13. <nav>
      14. <div id="Schichten">
      15. <ul>
      16. <li><a tabindex="0" aria-current="page">SCHICHT A1</a></li>
      17. <li><a href=../index.html>SCHICHTEN</a></li>
      18. <li>SCHICHT A2</li>
      19. <li>SCHICHT A3</li>
      20. </ul>
      21. </div>
      22. </nav>
      23. <table border="1">
      24. <tr><td>Datum</td><td>Schichtbeginn</td><td>Schichtende< /td><td>Personal 1</td><td>Personal 2</td><td>Personal 3</td></tr>
      25. <?php
      26. $feld = file(a1.csv);
      27. foreach($feld as $zeile)
      28. (
      29. $i = explode(";" , $zeile);
      30. echo <tr><td>$i(0)</td><td>$i(1)</td><td> $i(2)</td><td>$i(3)</td><td>$i(4)</td> <td>$i(5)</td><tr>
      31. )
      32. ?>
      33. </body>
      34. </html>
      Alles anzeigen

      Heraus kommt folgendes:

      Kann mir dort irgendwer behilflich sein? Ich google mich dumm und dämlich...
    • ersteinmal herzlich willkommen bei uns,

      leider bin ich die falsche Person und kenne mich damit auch garnicht aus,
      aber ich wollte dir nur zeigen das deine Frage nicht unbeantwortet bleibt.

      Ich denke jemand hier wird hilfreich sein können.

      Falls du indes das Problem gelöst haben solltest dann verrat uns bitte auch die Lösung, ggf. kann es behilflich sein.

      Mfg
      PC: 29610 3D-Mark Vantage Punkte
      CPU: Intel Core i5 2320 (4x 3710 MHz, Sockel 1155)
      RAM: 16GB DDR3 1707MHz (CL9-9-9-24)
      Grafik: 2x Geforce GTX470 (@680MHz Core, 1770MHzVRAM)
      Mainboard: ASUS P8 Z77-V LX
      BS: Microsoft Windows 7 Ultimate x64 SP1 und Windows 8.1 Professional x64
      Festplatten:. 128GB SATA3 SSD
      2 TB Western Digital






    • Moin Moin,

      PHP dafür zu nutzen ist erstmal eine wundervolle Idee. Das geht prima, man muss allerdings ein paar kniffe kennen.
      Das Problem an deinem Skript ist, dass der Computer nicht genau weiß wo er suchen soll. Deswegen bekommst du solche komischen Werte in der Tabelle. Der folgende Link bringt dir die fgetcsv() Methode näher. Damit machst du die Datei auf und liest aus was drinn ist.
      Das Gerüst was du gebaut hast, wird ja nicht aus der Datei gelesen. Deshalb wäre es wichtig zu wissen, wie die CSV aussieht. Ist das schon eine Tabelle oder sind das nur Werte die du in die entsprechende Reihenfolge bringen musst?

      Beispiel:

      Ich bin Wert 1, 2, 3, 42

      Ist das der Fall, hast du eine Menge Arbeit vor dir, da du die Tabelle dann selbständig erweitern musst.
      Mein Tipp ist also, das du die gesamte CSV mit der oben genannten Methode ausliest und darauf die Tabelle baust.
      Solltest du noch Hilfe brauchen, unter meinem Thread ist ne Menge platz ;).
      Hier kommt der Versprochene Link:
      *Klick*

      Lg und viel Erfolg,
      thunfisch
      PHP, JAVA, CSS und HTML Entwickler.
      Stolzer Besitzer eines grottenschlechten Laptops!

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von thunfisch () aus folgendem Grund: Mein Freund die Rechtschreibung ;)

    [ Barcodescanner | …finden und gefunden werden | IconShock Icons | Klassische PC-Spiele ]
    [ Webmaster Bibel | IT-System-Kaufleute | Datenrettung Service | Greensmilies | Avatare | Autokredit online | Computer Forum ]