Searchable database of members using multiple criteria / filters

I just had the same problem, and solved it using the Participants Database plugin. The pdb_list shortcode supports filters, e.g. [pdb_list filter="state=NY"].

You can generate any shortcodes from a PHP script by running a script with the do_shortcode() function, like this:

echo do_shortcode('[pdb_list filter="state=NY"]');

Now you have all the building blocks you need to generate the list server-side. Check out this article for more details.