Veröffentlicht 24. Februar 200916 j 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
24. Februar 200916 j 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.
24. Februar 200916 j 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
24. Februar 200916 j 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?
25. Februar 200916 j 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.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.