Welcome to the forums
Personally, I would use Google Maps and a proximity search.
Here's a tutorial: https://developers.google.com/maps/articles/phpsqlsearch_v3
In order to realise this you will need to geocode your zip codes into longitude/latitude coordinates, interact with the GoogleMaps API, parse and display the results, not to mention have a working knowledge of PHP and MySQL.
To me, this seems somewhat more complicated than you realise.
Here's another link that might be useful: http://stackoverflow.com/questions/2510514/find-nearest-location-by-zip-postal-code