Gezielt auf Objekt bzw. Array zugreifen

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

  • Gezielt auf Objekt bzw. Array zugreifen

    Hallo,

    ich habe ein Array bzw. ein Objekt aus einer DB so vorliegen:

    Array:

    PHP-Code:
    'monate' => array (size=8)
     
    => array (size=2'monat' => string 'January 2014' (length=12'anzahl' => int 3
     1 
    => array (size=2'monat' => string 'April 2014' (length=10'anzahl' => int 1
     2 
    => array (size=2'monat' => string 'May 2014' (length=8'anzahl' => int 2
     3 
    => array (size=2'monat' => string 'June 2014' (length=9'anzahl' => int 47
     4 
    => array (size=2'monat' => string 'July 2014' (length=9'anzahl' => int 15
     5 
    => array (size=2'monat' => string 'August 2014' (length=11'anzahl' => int 21
     6 
    => array (size=2'monat' => string 'September 2014' (length=14'anzahl' => int 10
     7 
    => array (size=2'monat' => string 'October 2014' (length=12'anzahl' => int 5 
    Objekt:

    PHP-Code:
    'monate' => array (size=8)
    => object(stdClass)[292] public 'monat' => string 'January 2014' (length=12) public 'anzahl' => int 3
     1 
    => object(stdClass)[291] public 'monat' => string 'April 2014' (length=10) public 'anzahl' => int 1
     2 
    => object(stdClass)[290] public 'monat' => string 'May 2014' (length=8) public 'anzahl' => int 2
     3 
    => object(stdClass)[289] public 'monat' => string 'June 2014' (length=9) public 'anzahl' => int 47
     4 
    => object(stdClass)[288] public 'monat' => string 'July 2014' (length=9) public 'anzahl' => int 15
     5 
    => object(stdClass)[287] public 'monat' => string 'August 2014' (length=11) public 'anzahl' => int 21
     6 
    => object(stdClass)[286] public 'monat' => string 'September 2014' (length=14) public 'anzahl' => int 10
     7 
    => object(stdClass)[285] public 'monat' => string 'October 2014' (length=12) public 'anzahl' => int 5 
    Angenommen ich will mir konkret den anzahl-Wert von Monat "April 2014" auslesen, kann ich das in irgendeiner Form *direkt* machen?

    Also jetzt OHNE das Array/Objekt komplett mit einer Schleife zu durchlaufen oder sowas...

    Beim Objekt vielleicht sowas wie echo $monate->monat['June 2014']->anzahl; ?

    Danke,
    Trunci
    Zuletzt geändert von Truncate; 29.07.2014, 00:23.

  • #2
    Zitat von Truncate Beitrag anzeigen
    Angenommen ich will mir konkret den anzahl-Wert von Monat "April 2014" auslesen, kann ich das in irgendeiner Form *direkt* machen?
    Ja – in SQL.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Zitat von wahsaga Beitrag anzeigen
      Ja – in SQL.


      Die Daten kommen ja bereits per SQL aus einer einer DB

      PHP-Code:
      $data['monate']=DB::select("SELECT DATE_FORMAT(lieferzeit,'%M %Y') AS monat,COUNT(*) AS anzahl FROM ".$tabelle." WHERE 1 ".$suche." GROUP BY MONTH(lieferzeit), YEAR(lieferzeit)"); 

      Kommentar


      • #4
        Code:
        WHERE lieferzeit BETWEEN '2014-04-01' AND '2014-04-30'

        Kommentar


        • #5
          Zitat von h3ll Beitrag anzeigen
          Code:
          WHERE lieferzeit BETWEEN '2014-04-01' AND '2014-04-30'
          Das würde ja nur den einen Monat zurückgeben :-/

          Kann man die vorhandene SQL-Abfrage nicht so ändern, dass sie sowas zurückliefert:

          PHP-Code:
          array(
          'January 2014 '=> '123'
          'May 2014' 
          => '2'
          'June 2014' 
          => '47

          Also ein assoziatives Array...

          Kommentar


          • #6
            Das kannst du sehr einfach machen an der Stelle, wo du die Daten von der Datenbank an PHP übergibst.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Zitat von Truncate Beitrag anzeigen
              Das würde ja nur den einen Monat zurückgeben :-/
              Genau das war doch deine Anforderung.

              Zitat von Truncate Beitrag anzeigen
              Kann man die vorhandene SQL-Abfrage nicht so ändern, dass sie sowas zurückliefert:

              PHP-Code:
              array(
              'January 2014 '=> '123'
              'May 2014' 
              => '2'
              'June 2014' 
              => '47

              Das hat mit SQL nix zu tun, das Array musst du in PHP zusammenbauen.

              Kommentar

              Lädt...
              X