Gruppieren?

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

  • Gruppieren?

    Hallo,

    ich möchte die internen Mails auflisten lassen, aktuell läuft es so:

    SELECT * FROM mails WHERE status='ungelesen' AND userid=1

    Nun soll das in dieser Form ausgegeben werden:

    Hans|Zeit1+Nachricht1.Zeit2+Nachricht2.Zeit3+Nachricht3
    Berta|Zeit1+Nachricht1
    Guste|Zeit1+Nachricht1.Zeit2+Nachricht2

    Es sollen also die Nachrichten pro Person zusamengefasst und unter/nebeneinander angezeigt werden.

    Von Hans werden 3, von Berta 1 und von Guste 2 angezeigt.

    Wie gruppiert man sowas?

  • #2
    Ich glaub das geht gar nicht mit gruppieren oder?

    Es muss jeder User ausgelesen werden und dann jeweils ne extra Schleife die alle Mails "sammelt"?

    Kommentar


    • #3
      Ganz normal nach User. PHP-seitig musst du einen Gruppenwechsel bei der Ausgabe berücksichtigen. Such mal danach.

      Kommentar


      • #4
        Stimmt das mit dem Gruppenwechsel hatte jemand neulich auch schon hier...

        So ich möchte es jetzt aber einfacher lösen...

        Der User soll bei jedem Aufruf der Seite die letzten ungelesenen Mails irgendeines Users sehen (also nicht mehr von allen).

        Es werden also zuerst die von Anton angezeigt, dann werden die auf 'gelesen' gesetzt und beim nächsten Reload erscheinen dann die von Berta usw.

        SELECT * FROM mails WHERE status='ungelesen' AND mail_an=1 ORDER BY mail_von, mail_zeit

        Wie lasse ich mir da immer nur die Mails von einer Person anzeigen ohne sie konkret anzusprechen mit mail_von? LIMIT bringt ja in dem Falle nichts...

        Kommentar


        • #5
          DISTINCT

          Kommentar


          • #6
            Ja ne, ist klar.

            Mir würde gerade maximal ein JOIN auf die selbe Tabelle einfallen. Ansonsten tatsächlich zwei Queries, bzw. Subquery.

            Kommentar

            Lädt...
            X