Auswertung PHP/MySQL/HTML

  • AAAAAAALSO!


    und zwar bräucht ich bissl hilfe bei der gestaltung einer auswertung von daten aus einer mysql datenbank. es geht um folgende tabelle namens "belege":


    spalten belegid - authorid - abfallsnummer - kostenstellenid - entsorgerid - preis - menge - belegdatum


    alles int, bis auf preis/menge sind float, belegdatum natürlich date. alles verweist dann auf andere tabellen in denen die bezeichnungen (und gruppen, blabla.. eig uninteressant für das problem) hinterlegt sind.


    ich habe eine auswertung die so aussieht, dass sie alle abfallbezeichnungen (aus abfallsnummer) und dann kostenstellen gruppiert und daraus die summen des preises und der menge aus den belegen ausgibt, ungefähr so:



    der code dafür aus dem controller:



    und der html code:



    ich hätt jetz gern, dass das ganze so aussieht:


    Abfallbezeichnung1
    kostenstelle1 ||| mengensumme ||| kostensumme
    kostenstelle2 ||| mengensumme ||| kostensumme


    Abfallbezeichnung2
    kostenstelle1 ||| mengensumme ||| kostensumme
    kostenstelle2 ||| mengensumme ||| kostensumme


    usw. (mengen- und kostensumme natürlich von den jeweiligen kostenstellen in bezug auf die abfallbezeichnung)


    hat irgendwer einen lösungsansatz oder ähnliches? ich hab mir schon dacht, dass ich die abfallid in ein eigenes array pack, und dann per foreach für jede abfallbezeichnung eine eigene auswertung machen lass, aber dann brauch ich 34523543 variablen und müsste die in der auswertung manuell eintragen, das is auch bullshit.. ;( sollte halt dann variabel sein, ich will dann halt auch (wie man vl im controller schon sehen kann) diverse SQL statements über eine form dazuwerfen... das ganze is natürlich nur ein entwurf, design etc. is eigentlich vollkommen egal, css hab ich noch nix gemacht - geht mir wirklich nur darum, wie ich zu den einzelnen abfällen eigene tabellen erstellen könnt...


    go affen!

  • würde es genauso machen wir du eigtl sagst. Einmal alle abfallsnummern selecten und dann drüber iterien. innerhalb jeder iteration ... where abfallsnummer = xyz.
    Verstehe das Problem mit den angeblich vielen Variablen net.

  • hm, müsst ich dann halt alles direkt im html code machen, oder? sonst würd ich ja für jede abfallsnummer ein eigenes array kriegen, wie soll ich die 1. verschieden benennen innerhalb einer foreach und wie soll ich sie 2. wieder aufrufen in der html?

  • Bin mir nicht sicher ob ich das richtig verstanden habe aber Imn meint das glaube so:


    Code
    "Tabelle Anfang"
      <Durchlauf der Abfallbezeichnungen>
         "Ausgabe aktueller Abfallbezeichnung"
         <Durchlauf der Kostenstellen der aktuellen Abfallbezeichnung>
             "Ausgabe aktueller Kostenstelle mit Summe, ..."        
         <Ende Durchlauf der Kostenstellen der aktuellen Abfallbezeichnung>
      <Ende Durchlauf der Abfallbezeichnungen>
    "Tabelle Ende"


    Kannst aber auch eine ein Schleifenlösung machen:

    Code
    "Tabelle Anfang"
      <Durchlauf der Abfallbezeichnungen>
         WENN [letzte Abfallbezeichnung = NULL oder != aktueller Abfallbezeichnung]
         DANN
            "Ausgabe aktueller Abfallbezeichnung" 
         ENDE
         "Ausgabe aktueller Kostenstelle mit Summe, ..."        
      <Ende Durchlauf der Abfallbezeichnungen>
    "Tabelle Ende"


    Bei der ersten Lösung sparst du dir Joins bei der anderen zusätzliche SELECT´s :)

  • jo, so hab ichs mir eh gedacht, ich war nur versteift darauf, dass ich alles im controller lös - was mir schlussendlich auch lieber wär, weil dann wieder x leute am html code rumpfuschen fürs design und mir den php code versauen, da trau ich mich wetten.. aber das ganze vom controller ans html zu übergeben wär wohl entweder nicht möglich oder nur mit einem riesen aufwand... ich versuchs morgen mal auf die art, hört sich eig nicht schwer an.


    btw - bei der lösung kann ich mir im controller auch sparen, dass ich alles in ein array einles, oder? muss ich sowieso in der html page machen.. oder kann ich das "$mengen" array irgendwie wie ein sql query verwenden? ne oder? ;(

  • mh wie wäre es, wenn du im Controller die gesamte HTMl table in eine Variable packst und die einfach mit echo im html teil ausgibst? :) damit wäre zumindest die Kapselung gegeben.