I wish to search a table on multiple columns.

Size 8 choices
Quantity from to
Region one, multiple or All.

If the client just chooses one size and hits return I want to filter on that size and display all Regions and any Quantity.

If the client chooses multiple sizes they will need to be OR.

And say the Quantity is between 10 and 20 (this will be AND) but no region is specified so there will again be no filter on Region. I guess I can build one callback that performs the filter but I was hoping someone had advice on the structure of the WHERE clause.