kontoauszüge für vereinsmitglieder csv > php &g

hallo an alle,

ich habe gelesen, dass man mitels php den Inhalt einer csv Datei als formatierte html ausgeben kann.

csv datei:

Name;Datum;Buchung;Soll;Haben
(daten vor 2007)
Susi Schmidt;01.01.2007;Übertrag aus 2006;5,00 €
Fank Müller;01.01.2007;Übertrag aus 2006;;2,00 €
Susi Schmidt;01.02.2007;Überweisung;;5,00 €
Fank Müller;15.02.2007;Beitrag Februar 07;5,00 €;
Susi Schmidt;31.01.2007;Überweisung;;5,00 €
Susi Schmidt;15.02.2007;Beitrag Februar 07;5,00 €;
Fank Müller;15.03.2007;Beitrag Februar 07;5,00 €;
Susi Schmidt;15.03.2007;Beitrag Februar 07;5,00 €;
Susi Schmidt;01.04.2007;Überweisung;;5,00 €
Fank Müller;15.04.2007;Beitrag Februar 07;5,00 €;
Susi Schmidt;15.04.2007;Beitrag Februar 07;5,00 €;
Fank Müller;16.05.2007;Überweisung;;15,00 €
usw.

30 unterschiedliche Namen

nun möchte ich :

beim Aufruf der Seite www.qlb-bc.de/mitglieder/frankmueller/2007.php

eine Anzeige die den Inhalt (für das Jahr 2007 und Mitglied Fank Müller) ordentlich in Spalten mit Überschrift darstellt und unten eine Summe ausgibt.

 **Datum Buchung Soll Haben**
01.01.2007 Übertrag aus 2006 2,00 €
15.02.2007 Beitrag Februar 07 5,00 €
15.03.2007 Beitrag Februar 07 5,00 €
15.04.2007 Beitrag Februar 07 5,00 € 
16.05.2007 Überweisung 15,00 €

 Saldo 2,00 €

ich habe nun leider keine Ahnung von PHP oder dergleichen bin es aber inzwischen leid immer von Hand die einzelnen html Seiten bei jeder Buchung umzuändern.

vieleicht könnt ihr mir dabei helfen oder hat jemand eine andere möglichleit den Inhalt einer csv datei als Tabelle auszugeben.

Mit freundlichen Grüßen und einem noch freundlicherem Danke

Stefan Behrendt

Hallo,

ungetestet, und nur für den Fall, das die Daten nach Datum sortiert in der Datei stehen:

<?php>
$datei = "name.csv";
$name = $\_GET["name"];
$jahr = $\_GET["jahr"];
$f = fopen($datei, "r") or die("Datei nciht gefunden");
$headings = fgetcsv($f,1000,";");
echo "

„.implode(“", $headings)."";
$saldo = 0;
while($d = fgetcsv($f,1000,";")) {
if ($d[0] != $name) continue;
if (!strstr($d[1], $jahr)) continue;
if (!isset($d[4]) $d[4]="";
echo „“.implode("", $d)."";
$saldo = $saldo - floatval(str_replace(",",".",$d[3])) + floatval(str_replace(",",".",$d[4]));
}
echo ‚Saldo‘;
if ($saldo".number_format(-$saldo,2,",")." €";
else echo „“.number_format($saldo,2,",")." €";
fclose($f);
?>

Aufruf mit datei.php?name=Frank+M%FCller&jahr=2007, damit spart man sich, das für jeden getrennt zu machen. Beim Namen Leerzeichen durch + und Sonderzeichen (Umlaute) wie folgt ersetzen:
ä ö ü Ä Ö Ü ß
%E4 %F6 %FC %C4 %D6 %DC %DF

Alexander