There are a couple of ways to approach this- though none that are completely ‘out of the box’.
1. Use categories- a different category group for each of your filter options. (I’d probably go with this approach).
2. Use custom fields- I’m sure it could be done, but it’s not my preference, so I won’t get into it.
3. You MIGHT be able to use a 3rd party add-on (Super Search or Tagger might work[/url].
In either 1/2- the tricky bit is you’ll need to sort of customize the urls to pass the filter information in. (You could do it via post, but that’s much trickier.) So with categories? You’d construct your urls like template_group/template/Cats-1-5-6 or something- and need to break out the Cats-x segment yourself. Then you’d just need to put the category parameter of the channel entry tag. So if you put 1&5&6 in the parameter? It would pull back only entries that are in ALL of those categories.
So- very doable. It’s just a matter of setting things up so you can get all of your category info into the url and pull it back out again in a form usable as a parameter.
Like I say- a variety of ways to approach it- but I’ve done it via categories, so that’s what I prefer.
I’m going to shift this over to the ‘Community Help’ forum, as it’s not so much a technical issue as one that could use some ‘how to’ brainstorming. I suspect the approaches above are but a limited sample of how others may have approached it.