Tabellenausgaben nebeneinander

  • Guten Morgen liebes Forum,


    ich bschäftige mich etwas mit PHP und SQL. Dabei lernt man ja Tabellen auszugeben, was an sich auch kein Problem für mich darstellt.


    Jetzt habe ich aber folgendes Problem. Ich würde gerne die Taballe nicht, wie normal, Zeile für Zeile untereinander ausgeben lassen, sondern nebeneinander. Ich vertausche quasi Zeilen und Spalten.

    Die Tabelle unten kann ausgeben.


    MATNR MTART WERKS NETGW
    4711 FERT 0001 0,5
    4711 FERT 0002 0,6
    4711 FLUS 0003 20,00
    4711 PULV 0004 1,25



    Ich würde aber gerne lieber so etwas probieren.


    4711 0001
    0002
    0003
    MTART FERT FERT FLUS
    NETGW 0,5
    0,6 20,00


    Hat jemand eine Idee, wie man das umsetzen könnte?


    Danke sehr.


    Faustus

  • Hat jemand eine Idee, wie man das umsetzen könnte?

    Da hast Du vermutlich verschiedene Möglichkeiten.

    Die erste und aus meiner Sicht sauberste Variante, die SQL Query auf PIVOT umzubauen.


    Die nächst mögliche Variante wäre, das normale Ergebnis in PHP zu durchlaufen und ein neues Array zusammen zu klöppeln, das dem entspricht, was Du haben willst.


    PIVOT finde ich logischer und sinnvoller, kann aber nicht sagen, ob es umsetzbar ist, da ich Deine Datenbankstruktur nicht kenne.

  • Das sollte kein Problem sein, wenn Du zunächst das Ergebnis der Datenbankabfrage komplett erzeugst, etwa bei PDO mit fetchAll und dann die Indizes vertauschst:

    So getestet.

  • Nochmals Dank an Sempervivum.

    Den Code habe ich angepasst und das Array erweitert, um meinen Ausgabe besser aufbereitet zubekommen.


    Nun habe ich noch etwas herumprobiert und gesucht, weil ich noch etwas anderes ausprobieren wollte/muss bei einer Ausgabe.

    Da bin ich auf einen andere Beitrag gestoßen, in dem man es nur mit der SQL Abfrage hinbekommen hat. Hier gab es aber das Problem, dass die Abfrage statisch war, d.h. für jede Spalte muss zwingend ein Datensatz vorliegen.

    Ist dies ein generelles Problem von PIVOT? Wenn ja, müsste man es ja über PHP lösen können.

    Ich kann gerne dazu mal das Beispiel raussuchen bzw. auf meine Datenstruktur abändern.


    Eigentlich sollte dies ja ein Problem sein, welches viele Anfänger haben.