SirTom Geschrieben 24. Februar 2009 Geschrieben 24. Februar 2009 Hallo zusammen, ich bin langsam am verzweifeln. Erst dachte ich das kann doch nicht so schwer sein und nun hänge ich irgendwie fest... Folgende Problemstellung: Ich habe Rohdaten in einer CSV-Datei, die ich täglich via ODBC geliefert bekomme. sort;woche;kategorie;gruppe;wert 748;"51. KW";"sonstige Fahrzeuge";Schiffe;10 748;"51. KW";Landfahrzeuge;Motorräder;200 748;"51. KW";Landfahrzeuge;Automobile;150 748;"51. KW";"sonstige Fahrzeuge";Flugzeuge;52 749;"52. KW";"sonstige Fahrzeuge";Schiffe;74 749;"52. KW";Landfahrzeuge;Motorräder;85 749;"52. KW";Landfahrzeuge;Automobile;30 749;"52. KW";"sonstige Fahrzeuge";Flugzeuge;10 750;"1. KW";Landfahrzeuge;Motorräder;2 750;"1. KW";Landfahrzeuge;Automobile;0 750;"1. KW";"sonstige Fahrzeuge";Schiffe;0 750;"1. KW";"sonstige Fahrzeuge";Flugzeuge;6 751;"2. KW";Landfahrzeuge;Automobile;0 751;"2. KW";"sonstige Fahrzeuge";Flugzeuge;125 751;"2. KW";Landfahrzeuge;Motorräder;5 751;"2. KW";"sonstige Fahrzeuge";Schiffe;89 752;"3. KW";"sonstige Fahrzeuge";Flugzeuge;15 752;"3. KW";"sonstige Fahrzeuge";Schiffe;87 752;"3. KW";Landfahrzeuge;Motorräder;54 752;"3. KW";Landfahrzeuge;Automobile;12 753;"4. KW";"sonstige Fahrzeuge";Flugzeuge;0 753;"4. KW";"sonstige Fahrzeuge";Schiffe;13 753;"4. KW";Landfahrzeuge;Motorräder;14 753;"4. KW";Landfahrzeuge;Automobile;0 Diese Daten muss ich in folgendem vorgegebenen Format ausgeben: Ich habe den Hinweis bekommen folgendes Array daraus zu basteln: Array ( [51. KW] => Array ( [sonstige Fahrzeuge] => Array ( [Schiffe] => 10 [Flugzeuge] => 52 ) [Landfahrzeuge] => Array ( [Motorräder] => 200 [Automobile] => 150 ) ) [52. KW] => Array ( [sonstige Fahrzeuge] => Array ( [Schiffe] => 74 [Flugzeuge] => 10 ) [Landfahrzeuge] => Array ( [Motorräder] => 85 [Automobile] => 30 ) ) [1. KW] => Array ( [Landfahrzeuge] => Array ( [Motorräder] => 2 [Automobile] => 0 ) [sonstige Fahrzeuge] => Array ( [Schiffe] => 0 [Flugzeuge] => 6 ) ) [2. KW] => Array ( [Landfahrzeuge] => Array ( [Automobile] => 0 [Motorräder] => 5 ) [sonstige Fahrzeuge] => Array ( [Flugzeuge] => 125 [Schiffe] => 89 ) ) [3. KW] => Array ( [sonstige Fahrzeuge] => Array ( [Flugzeuge] => 15 [Schiffe] => 87 ) [Landfahrzeuge] => Array ( [Motorräder] => 54 [Automobile] => 12 ) ) [4. KW] => Array ( [sonstige Fahrzeuge] => Array ( [Flugzeuge] => 0 [Schiffe] => 13 ) [Landfahrzeuge] => Array ( [Motorräder] => 14 [Automobile] => 0 ) ) ) Das hat gedauert, aber ich habe dieses Array und weiß nun nicht, wie ich damit zu gewünschten Ausgabe kommen soll. Derjenige, der mir diesen Lösungsansatz mit dem Array geraten hat meldet sich auch nicht mehr... War der Lösungsansatz überhaupt brauchbar? Ich seh den Wald vor lauter Bäumen nicht mehr, aber die Zeit drängt. Gruß Tom Zitieren
ivanhoe Geschrieben 24. Februar 2009 Geschrieben 24. Februar 2009 Wo liegt jetzt dein Problem? Wenn du die Daten aus der csv schon im Array hast, hast du doch schon einen großteil der Arbeit hinter dir. Jetzt brauchst du doch nur noch die Daten aus deinem Array holen und in deine Tabelle schaffen. Zitieren
SirTom Geschrieben 24. Februar 2009 Autor Geschrieben 24. Februar 2009 Klingt irgendwie einfacher als getan. Womöglich, weil ich mit foreach und co. nicht richtig umgehen kann. Ich möchte eine Tabelle, wie die auf dem Screenshot, die ich in Excel gemacht habe und komme nicht annähernd an das Ergebnis. :upps Zitieren
ivanhoe Geschrieben 24. Februar 2009 Geschrieben 24. Februar 2009 probier doch mal folgendes foreach ($deinArray as $kw) { print_r($kw) } Dann schau dir die Ausgabe an, vielleicht wird dir die Funktionsweise von foreach etwas klarer. Und die Tabelle soll dann mit html gemacht werden? Zitieren
Aiun Geschrieben 25. Februar 2009 Geschrieben 25. Februar 2009 ich würde sagen du musst das array umstrukturieren. Eventuell war der Ansatz nicht der beste. Das Problem ist HTML Tabellen arbeiten Zeilenweise, da wäre ein Array in der Form sinnvoll: <? array( "Kategorie1" => array( "Gruppe1" => "KW1" => 10, "KW2" => 20 ... ), "Gruppe" => "KW1" .... ) ) ); ?> [/PHP] Dann wäre die Lösung mit Foreach durch das Array und ein neues Zusammensetzten. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.