Hallo,
ich habe ein kleines Problem beim sortieren und komm einfach nicht auf eine brauchbare Lösung. Hoffe, es kann mir jemand auf die Sprünge helfen.
Ich habe eine Datenbank, in der es u.a. diese Felder gibt:
datum - inhalt - kap - kap_id
Ich möchte nun folgende Ausgabe:
Alle Elemente, deren Wert in 'kap' != 0 ist sollen gruppiert werden. Angezeigt werden soll nach dieser Gruppierung der neueste Eintrag mit gemeinsamer 'kap' vom 'datum' her sein.
Und...
Alle Elemente, dereren Wert in 'kap' NULL ist sollen logischerweise ungruppiert angezeigt werden.
Wozu der Umstand? Ich möchte eine Kapitel-Funktion umsetzen, in der halt Dokumente, die über mehrere Kapitel gehen, gruppiert angezeigt werden, neben den Dokumenten, die keine weiteren Kapitel haben.
Meine bisherige Lösung war ein mittels UNION verknüpfter SQL-Query:
SELECT * FROM $tbl_works WHERE rubrik = '$rub' AND kategorie = '$kat' AND locked != 'Y' AND kap_id = '' UNION SELECT * FROM $tbl_works WHERE rubrik = '$rub' AND kategorie = '$kat' AND locked != 'Y' AND kap_id != '' GROUP BY kap_id ORDER BY datum DESC LIMIT $pos,$maxcount
So weit, so gut, nur werden Einträge, die eine gemeinsame 'kap' haben mit dem ältesten Eintrag wohl zuletzt guppiert, denn dieser wird nach Abschluss angezeigt. Ich möchte aber, das vor der Gruppierung schon der neueste unten liegt, damit dieser Neue letztendlich in der Liste steht.
Hoffe, ich konnte mein Problem verständlich schildern?! Bild anbei. ;-)
Please help,
NoLabel
ich habe ein kleines Problem beim sortieren und komm einfach nicht auf eine brauchbare Lösung. Hoffe, es kann mir jemand auf die Sprünge helfen.
Ich habe eine Datenbank, in der es u.a. diese Felder gibt:
datum - inhalt - kap - kap_id
Ich möchte nun folgende Ausgabe:
Alle Elemente, deren Wert in 'kap' != 0 ist sollen gruppiert werden. Angezeigt werden soll nach dieser Gruppierung der neueste Eintrag mit gemeinsamer 'kap' vom 'datum' her sein.
Und...
Alle Elemente, dereren Wert in 'kap' NULL ist sollen logischerweise ungruppiert angezeigt werden.
Wozu der Umstand? Ich möchte eine Kapitel-Funktion umsetzen, in der halt Dokumente, die über mehrere Kapitel gehen, gruppiert angezeigt werden, neben den Dokumenten, die keine weiteren Kapitel haben.
Meine bisherige Lösung war ein mittels UNION verknüpfter SQL-Query:
SELECT * FROM $tbl_works WHERE rubrik = '$rub' AND kategorie = '$kat' AND locked != 'Y' AND kap_id = '' UNION SELECT * FROM $tbl_works WHERE rubrik = '$rub' AND kategorie = '$kat' AND locked != 'Y' AND kap_id != '' GROUP BY kap_id ORDER BY datum DESC LIMIT $pos,$maxcount
So weit, so gut, nur werden Einträge, die eine gemeinsame 'kap' haben mit dem ältesten Eintrag wohl zuletzt guppiert, denn dieser wird nach Abschluss angezeigt. Ich möchte aber, das vor der Gruppierung schon der neueste unten liegt, damit dieser Neue letztendlich in der Liste steht.
Hoffe, ich konnte mein Problem verständlich schildern?! Bild anbei. ;-)
Please help,
NoLabel
Kommentar