Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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: tabelle.jpg 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. :rolleyes:

Gruß Tom

Geschrieben

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.

Geschrieben

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

Geschrieben

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?

Geschrieben

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.

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...