Gruppierte Datenbank-Abfrage - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html) +--- Forum: Plugin-Entwicklung (https://www.mybb.de/forum/forum-74.html) +--- Thema: Gruppierte Datenbank-Abfrage (/thread-36877.html) |
Gruppierte Datenbank-Abfrage - SvePu - 14.12.2019 Hallo zusammen, ich bin schon leicht am verzweifeln Ich versuche eine DB Abfrage zu erstellen, die mir alle, nach Post-ID gruppierte, Bild-Anhänge ausgibt...dazu das Ganze noch mit Multipage Option. Grundsätzlich funktioniert meine Abfrage, nur leider liefert die Ausgabe nur einen Anhang pro PID aus, obwohl wissentlich mehrere vorhanden sind. Das gesetzte LIMIT soll sich auf die PIDs beziehen, also z.B. alle Bilder der ersten 10 einzigartigen PIDs. Hier meine PHP Funktion: PHP-Code: $where = "WHERE a.thumbnail != '' AND a.thumbnail != 'SMALL'"; Entferne ich das: PHP-Code: GROUP BY a.pid wird werden alle Bilder ausgegeben, nur leider bezieht sich das LIMIT dann auf die Bilder und nicht auf die PIDs. Eventuell hat jemand schon eine Lösung für solch eine Abfrage gefunden. RE: Gruppierte Datenbank-Abfrage - StefanT - 14.12.2019 Deine Anforderungen beißen sich. Du kannst nicht gleichzeitig Gruppieren und trotzdem alle Unter-Einträge so einfach abfragen. Zu Ansätzen mit z.B. GROUP_CONCACT würde ich an dieser Stelle nicht raten. Üblicherweise löst man so etwas PHP-seitig. Erst eine Abfrage nach Beiträgen mit Attachments (mit LIMIT) und in der 2. Abfrage lädt man alle Attachments zu diesen Beiträgen. RE: Gruppierte Datenbank-Abfrage - SvePu - 14.12.2019 folgendes habe ich auch schon versucht: PHP-Code: $query = $db->query(" ....leider ohne das gewünschte Ergebnis. EDIT: Danke für die schnelle Rückmeldung, Stefan Das war auch meine Überlegung, nur hätte ich dann wohl sehr viele Datenbankabfragen pro Seite, das wollte ich mit so einer kombinierten Abfrage eigentlich vermeiden. z.B. bei einem Limit von 10 hätte ich min. 11 Einzel-Query's RE: Gruppierte Datenbank-Abfrage - StefanT - 14.12.2019 Die Anzahl an Abfragen lässt sich durch Optimierung auf 2 reduzieren. So in etwa (ungetestet): PHP-Code: $posts = array(); RE: Gruppierte Datenbank-Abfrage - SvePu - 14.12.2019 Danke dir für deine Mühe, Stefan....ich werde das gleich mal testen und berichten Klasse Stefan....funktioniert TOP! .... Vielen Dank nochmal!! RE: Gruppierte Datenbank-Abfrage - StefanT - 14.12.2019 Wunderbar. Ich habe den Code oben noch etwas aufgeräumt (die Variable $attachments entfernt), aber funktionell macht das keinen Unterschied. RE: Gruppierte Datenbank-Abfrage - SvePu - 14.12.2019 Das ist nicht so tragisch, denn ich musste die Abfragen sowieso an das restliche Script anpassen. Mir ging es um eine grundsätzliche Vorgehensweise und deine funktioniert einwandfrei. ....jetzt kann ich mich an das Styling der Ausgaben machen. Danke nochmal! |