PHP SQL Daten basierend auf IDs in verschiedene Listen einordnen

Hanso9989

Cadet 1st Year
Registriert
Juni 2017
Beiträge
11
Hallo,

ich bin gerade dabei, eine Website mit Mysql-Datenbank aufzubauen und diese mit PHP abzufragen.
Soweit klappt das auch ganz gut, ich kann aus den verschiedenen Tabellen alle Infos abfragen, die ich brauche.

Ich habe nun das Problem, dass ich auf der Ergebnisseite mehrere Kategorien darstellen will, die wiederum mehrere Unterkategorien haben können. Der Aufbau der Ergebnisseite wäre ungefähr so:

Suchergebnis (Überschrift)

Kategorie 1
Unterkategorie 1​
Detailinformationen​
Unterkategorie 2​
Detailinformationen​
Andere Detailinformationen​
Unterkategorie 3​
…​

Kategorie 2
Unterkategorie 4​
Detailinformationen​
Unterkategorie 5​
Detailinformationen​
Andere Detailinformationen​
Unterkategorie 6​
…​


Problem hierbei ist, dass je nach Suchergebnis verschieden viele Kategorien/Informationen in der Datenbank hinterlegt sind. Ich müsste die Ergebnisse der SQL Query also anhand der eingetragenen Kategorie IDs in den entsprechenden DIV einfügen. Diese Kategorie hat verschiedene Unterkategorien (ID dazu auch in der Datenbank) und das soll dann auch entsprechend eingeordnet und dargestellt werden, falls Datensätze dazu vorliegen.

Mit hintereinander gereihten If-Statements hat das ganze schon mal funktioniert. Das bedeutet aber, dass ich für jede Kategorie den Code komplett kopieren muss, um nacheinander jede ID abzufragen. Da muss es doch eine elegantere Lösungsmöglichkeit geben, oder?

Da ich absoluter Anfänger im Websitebauen bin, weiß ich nicht genau wie ich mich ausdrücken soll, geschweige denn bei Google Hilfe zu finden. Ich hoffe mein Problem wird deutlich.
Falls das ganze mit javascript einfacher ist, wäre ein entsprechender Lösungsweg auch willkommen, vermutlich reicht dann auch das entsprechende Stichwort damit ich mich einlesen kann.
Ich wäre über eure Hilfe dankbar! :)
 
  1. Erfinde das Rad nicht neu (Joomla/WordPress/whatever).
  2. Dafür kann man Rekursion nutzen (falls nicht bekannt=>Google).
  3. Hirarchische Datenbankanfragen sollte auch in MySQL gehen.
  4. Dafür gibt es clevere Datenbank-ID-Spielereien (z.B. nested-set http://www.klempert.de/nested_sets/).
ich wünsch dir viel Spaß beim Rumbasteln.
Tipp: Das "ensprechende Div" kannst du dir ja immer genau dann erzeugen, wenn du es brauchst. Falls du mehrere if's hast mit jeweils einer Konstante anders, dann muss es auch als "Schleife über ein Array" formulierbar sein. Dieses Array kann dann z.B. aus der Datenbank kommen.
 
  • Gefällt mir
Reaktionen: Sgt_H4rtman und blablub1212
Zurück
Oben