Ik zie niet in waarom.
etc...
Omdat je straks een vierde filter hebt, dan een vijfde, en dan later nog een zesde... En dan moet je steeds maar weer je applicatie aanpassen, en dat is iets wat je juist moet vermijden. Want het is storinggevoelig, en bovendien kan je heel lastig mooie koppelingen realiseren of mooie berekeningen erop wilt uitvoeren (aantal filters etc).
En zeg nooit dat je dit niet gaat doen, want ik heb dat vaker gehoord, en opeens willen mensen dat toch....
En het feit dat je ze een nummer geeft is ook niet echt duidelijk. Een typfout met een 3 in plaats van een 2 kan al voor een vreemde uitkomst zorgen. Als je ze gewoon netjes benoemd, dan ga je minder snel de fout in. En ook hoef je, als je een half jaar niet in de code te hebt gekeken, niet opnieuw te spieken welk nummer het was. Dus zorg altijd voor duidelijkheid in je code en je structuren!
De oplossing:
Je hebt dus filters als hoofdgroep, en voor subgroepen. In dat geval is het handig om dus een tabel te maken met alle filters.
Een mooie duidelijke tutorial over de opzet hiervan heb ik ooit eens gevonden:
https://crisp.tweakblogs.net/blog/317/formatting-a-multi-level-menu-using-only-one-query.html
Los van het feit dat het een menu maakt, realiseer je op deze manier wel eenvoudig filters, en kan je een subfilter aan de
parent hangen.
Ziet er misschien ingewikkeld uit, maar als je jezelf in de wereld van array's en PHP verdiept, dan zal je het vast wel begrijpen.
En nog een voordeel: Het is lekker zuinig met een enkele query. Ik heb vaak gezien dat mensen voor dit soort 'bomen' meerdere queries gebruiken en gelimiteerd zijn aan het aantal 'sub-filters'. En dat is dan gewoon zonde, en kan op een gegeven zorgen voor een trage site.
Code:
id parentId name
1 0 Scheepvaart
2 0 Binnenvaart
3 0 Luchtvaart
4 1 Algemeen
5 1 Zeevaart
6 1 Kustvaart
7 1 Binnenvaart
8 2 Vrachtvaart
9 2 Passagiervaart
10 2 Visserij
11 3 Cargovluchten
12 3 Passagiersvluchten
13 3 Recreatievluchten
Elke filter heeft in ID een oplopend ID (Auto Increment, Primairy key).
Het tweede veld parentID bepaalt of deze onder een andere filter hoort te hangen. Is het 0 dan is dit de hoofdfilter. Is dit 1, dan hoort het bij Scheepvaart.
Op deze manier kan je verticaal net zoveel filters en subfilters maken als je zelf wilt. Je kan praktisch zelfs nog eens sub-sub-filters maken.
Met deze opzet heb je volgens mij precies wat je wilt bereiken. Let er wel op dat de tutorial die ik noem verouderd is dat ze nog mysql_query() gebruiken, maar los van het feit van deze oude praktijk is de theorie uitstekend.