Malheureusement, vous ne pouvez pas connecter une page Web directement à une base de données en raison de problèmes de sécurité, normalement vous avez besoin d'un middleware pour relier les deux.
Donc, pour votre exemple et si vous voulez vous en tenir au logiciel Open Source, vous pouvez facilement utiliser GeoServer comme serveur géographique pour servir vos données de votre base de données PostGIS à votre page Web OpenLayers HTML.
Ce qui est bien, c'est que GeoServer servira les données de manière standard, OGC Web Map Server (WMS) ou Web Feature Service (WFS) et les deux sont compris par OpenLayers et de nombreuses autres API (ESRI, Leaflet, etc.) et d'autres ordinateurs de bureau Logiciel SIG (ESRI, MapInfo, QGIS, uDig etc.)
Je voudrais donc regarder la documentation de GeoServer pour commencer qui vous explique comment connecter GeoServer à PostGIS, puis servir les données.
http://docs.geoserver.org/stable/en/user/gettingstarted/index.html
Si vous êtes nouveau dans ce genre de choses, il n'y a pas de meilleur endroit pour commencer que les tutoriels OpenGeo
http://workshops.opengeo.org/
Je resterais certainement avec vos données dans PostGIS si
a) vous avez beaucoup de données b) vous souhaitez exécuter des requêtes (comme vous le faites) et c) si beaucoup de gens vont utiliser votre application
Si vous allez exécuter des requêtes, je regarderais les services de traitement Web (WPS), ils sont toujours "nouveaux" mais ils sont pris en charge dans GeoServer.
Si toutefois vous avez une petite quantité de données et pouvez pré-exécuter les requêtes, puis utiliser simplement OpenLayers pour afficher, vous devriez vous en tenir à GeoOSON à partir d'un fichier plat ou même regarder TopoJSON qui gagne beaucoup en popularité avec la bibliothèque javascript D3 - voir ici http://bost.ocks.org/mike/map/ Le tutoriel de Mike Bostock est génial.
J'espère que cela pourra aider