Ankündigung

Einklappen
Keine Ankündigung bisher.

Werte und Zahle aus einem Array lesen und zuordnen.

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Werte und Zahle aus einem Array lesen und zuordnen.

    Hallo zusammen,

    ich habe eine Tabelle mit drei Spalten: 'Name', 'Jahr' und 'Anzahl' wie unten dargestellt.

    ------------------------------
    Name | Jahr | Anzahl |
    ------------------------------
    NORD | 2006 | 3 |
    -----------------------------
    NORD | 2011 | 41 |
    -----------------------------
    NORD | 2012 | 7 |
    -----------------------------
    NORD | 2013 | 6 |
    -----------------------------
    Ost | 2011 | 62 |
    -----------------------------
    Ost | 2013 | 14 |
    ------------------------------
    West | 2011 | 10 |
    -----------------------------
    West | 2012 | 15 |
    ------------------------------

    Ich möchte am Ende je 'Name' wissen wie die Anzahl imi Jahr war. Wenn das Jahr bei einem Namen nicht vorkommt, dass soll die Anzahl mit '0' geschrieben werden.
    Ich habe in einem Array ($label) folgende Jahre: $label = array(2006, 2011, 2012, 2013).

    So sollen die Outputs aussehen

    Output NORD:
    2006 -> 3
    2011 -> 41
    2012 -> 7
    2013 -> 6

    Output OST:
    2006 -> 0
    2011 -> 62
    2012 -> 0
    2013 -> 14

    Output West:
    2006 -> 0
    2011 -> 10
    2012 -> 15
    2013 -> 0

    Kann jemanden mir dabei helfen den Code in PHP dazu zu schreiben, um die drei Outputs zu bekommen? Danke und Gruß!!


  • #2
    Als was liegen deine Tabellen vor? In einer Datenbank? Wenn ja, welche?
    Das sind nur einige Informationen die fehlen um zu helfen. Liefere bitte Beispieldaten als SQL oder PHP-Quellcode wenn die Daten in einem Array liegen.
    PHP-Klassen auf github

    Kommentar


    • #3
      Hier die MYSQL Abfrage:

      PHP-Code:
      $oldcontracts =$MAIN->fetchSQL('Select N.Name, LEFT(Laufzeitende, 4) as Jahr, count(*) as Anzahl
      from Rahmenvertraege as rv
      JOIN PTIsPERRahmenvertrag as ptirv on ptirv.RahmenvertragsID = rv.ID AND rv.Zielwert>1 AND rv.GebundeneMittel=0 AND rv.`Enable`=1
      JOIN PTI ON PTI.ID = ptirv.PTIID
      JOIN Niederlassungen N ON N.ID = PTI.NiederlassungsID
      WHERE rv.Laufzeitende < CAST(CURRENT_TIMESTAMP AS DATE)
      GROUP BY LEFT(Laufzeitende, 4), N.Name
      ORDER BY LEFT(Laufzeitende, 4), N.Name'
      ); 
      Hier hole ich alle Jahre im Array $label:

      PHP-Code:
      for($i=0$i<count($oldcontracts); $i++){
      $label[$i] = $oldcontracts[$i]['Jahr'];
      }
      $label array_unique($label);
      $label "['".implode("', '"$label)."']"

      Kommentar


      • #4
        Bitte verwende Code-Tags wenn du Code hier einfügst.

        Da mit diesem Schnipsel niemand dein Problem nachvollziehen kann(siehe auch #2) hier mal allgemein der Hinweis zu Gruppenwechsel.

        Kommentar


        • #5
          Auf jeden Fall schonmal Gruppenwechsel. Und da du es ja wahrscheinlich als HTML-Tabelle ausgeben möchtest, wird es sicher möglich sein, diese häßlichen Zeichen, die du da bebastelt hast, durch entweder Spalten oder z.B. Doppelpunkte zu ersetzten.

          Kommentar

          Lädt...
          X