Ik zit even op een dwaalspoor, ik ben bezig een klein forum te maken, waarbij ik de categoriën en bijbehorende forums wil laten zien.

In principe zou ik een query kunnen doen waarbij ik de categoriën ophaal, en terwijl ik deze een voor een ophaal een tweede query doen waarbij ik voor iedere categorie de bijbehorende forums ophaal. Echter het leek mij dat dit ook in 1 query moet kunnen.
Ik was ondertussen hierop gekomen:

SELECT * FROM forum_categories left join forum_topics on forum_categories.id = forum_topics.forum_category_id;

Het nadeel hiervan is dat alle resultaten dan herhaalt worden.
Ik wil dat de categorie maar eenmaal wordt weergegeven als er meerdere forums gevonden zijn.
Kan ik dit doen in een query? Of is de enige optie dat ik tijdens de uitvoer van de query steeds controleer middels php of het nog steeds dezelfde categorie betreft?
Of is de enige optie dat ik tijdens de uitvoer van de query steeds controleer middels php of het nog steeds dezelfde categorie betreft?
Van de eenvoudigste opties is dat zeker de beste. Je gaat in dit geval uiteraard niet voor iedere categorie weer een aparte query uitvoeren om de forums op te halen...

Een ander alternatief zou zijn om met 1 query alle categorieën op te halen. Daarna voer je vervolgens een tweede query uit waarin je van alle opgehaalde categorieën de bijbehorende forums ophaalt. In deze query zou je gebruik kunnen maken van IN() om zo in 1x alle id's van de betreffende categorieën te selecteren.

Reageren