Usually I use some sentinel value for ALL, like -1
For example when $_GET[‘country’] is set to -1 I don’t include the country in the WHERE clause, automatically selecting all countries. Or, to put it differently, not excluding any countries
it’s okay to pass in a value of “all” for a particular option, but when you are construction the query, test the value passed in, and it it’s “all” then omit the WHERE condition for that parameter
for example, if the parameters passed in for country/county/city are xx/yyy/all then you would run
WHERE country = 'xx'
AND county = 'yyy'
-- no filter on city