CSV Als Tabelle einbinden

Gesperrt
optimist
Beiträge: 24
Registriert: Do 12. Aug 2004, 20:45
Wohnort: Rheinhessen
Kontaktdaten:

CSV Als Tabelle einbinden

Beitrag von optimist » Mo 26. Jun 2006, 21:18

Hallo!

Folgendes Problem:
Ich bekomme per FTP unregelmäßig eine CSV Datei auf meinen Server gelegt mit dem Format:

wert1;wert2;wert3;wert4;
wert1;wert2;wert3;wert4;
wert1;wert2;wert3;wert4;

Anders geht es leider nicht.

Ich würde jetzt den Inhalt dieser CSV gerne auf einer Seite als Tabelle ausgeben, evtl. müßte ich die Daten auch noch sortieren, dazu ist eine indexspalte vorhanden.

Wer hat da einen guten Vorschlag ?
Gibts da evtl. ein Tool oder Modul ?
Aller dann !

tono
Beiträge: 574
Registriert: Mo 25. Apr 2005, 20:51
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von tono » Mo 26. Jun 2006, 21:26

Ein Vorschlag:

mit file() die Datei lesen, dann das resultierende Array komplett durchlaufen mit foreach oder array_walk und jeden einzelnen Teil mit explode ";" behandeln und die resultierenden Arrays in ein neues Array schreiben.

Dann solltest Du ein 2-dimensionales Array haben, das man mit 2 verschachtelten foreachs in eine Tabelle schreiben kann.

Vielleicht gibts dafür auch eine pear-Funktion (pear.php.net).

optimist
Beiträge: 24
Registriert: Do 12. Aug 2004, 20:45
Wohnort: Rheinhessen
Kontaktdaten:

Beitrag von optimist » Mo 26. Jun 2006, 21:36

Hallo Tono,

sorry, aber ich verstehe nur Bahnhof.
Aller dann !

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Mo 26. Jun 2006, 21:42

optimist hat geschrieben:sorry, aber ich verstehe nur Bahnhof.
Tja, dann wirst du dich wohl oder uebel mit PHP auseinandersetzen muessen. Denn ohne PHP-Kenntnisse wirst du, trotz deines Nicknames, keinen Erfolg haben. :P
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!

optimist
Beiträge: 24
Registriert: Do 12. Aug 2004, 20:45
Wohnort: Rheinhessen
Kontaktdaten:

Beitrag von optimist » Mo 26. Jun 2006, 21:51

:cry: Toll !

Ihr seid so gut zum mir

Hat keiner von Euch vielleicht so eine PHP Tool/Scriptsammlung wo sowas drin ist ?

Oder gibts ne Möglichkeit das in ne Datenbank zu pushen ?

Ich möchte das nicht über ein Excel-VB-Modul machen, das wäre meine letzte Alternative!
Aller dann !

tono
Beiträge: 574
Registriert: Mo 25. Apr 2005, 20:51
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von tono » Mo 26. Jun 2006, 21:59

Ich hab Erbarmen (und zuviel Zeit)

So sollte der Moduloutput aussehen:

Code: Alles auswählen

<?php
echo "<table>\n";
$temp_array1 = file('test.csv'); // Hier den Dateinamen eingeben als absoluten Dateisystempfad oder relativ zum Mandantenpfad z.B. upload/datei.csv
foreach ($temp_array1 as $line)
{
	$temp = explode(";",substr(trim($line),0,-1));
	echo "<tr>";
	foreach ($temp as $td)
	{
		echo "<td>".$td."</td>";
	}
	echo "</tr>\n";
}
echo "</table>\n";
?>
den Dateinamen musst Du jetzt fest im Modul eingeben, nicht über Konfiguration oder so.

Der Modulinput bleibt leer.

optimist
Beiträge: 24
Registriert: Do 12. Aug 2004, 20:45
Wohnort: Rheinhessen
Kontaktdaten:

Beitrag von optimist » Mo 26. Jun 2006, 22:09

Hey Danke !

Das hilft mir schon Megamäßig.
Aller dann !

so2
Beiträge: 34
Registriert: Sa 7. Jan 2006, 07:16
Wohnort: Kloten
Kontaktdaten:

Beitrag von so2 » Mo 18. Jun 2007, 09:00

Hallo

Ich habe dieses Modul im Einsatz, sollte jedoch jeden Wert pro Zeile der CSV Datei in einer eigenen Spalte darstellen, also:

CSV Datei: Wert1,Wert2,Wert3,...
Tabelle: Spalte1, Spalte2,Spalte3,...

Komme aber nicht drauf, wie vorzugehen. Hat mir jemand vielleicht einen Tip?

Danke im voraus!

Gesperrt