Con Smarty lo que conseguimos es separar el código PHP, como lógica de negocios, del código HTML, como lógica de presentación, y genera contenidos web mediante la colocación de etiquetas Smarty en un documento.
Es decir, por un lado tendremos que obtener los datos de la base de datos, inyectar esos datos en la plantilla Smarty que deseemos y, posteriormente, con codigo html y etiquetas de Smarty (foreach, section, etc), componer el html resultante.
Con todo esto conseguimos usar un patron de software muy conocido Modelo Vista Controlador (MVC)
(http://upload.wikimedia.org/wikipedia/commons/a/a9/ModelViewControllerDiagram_es.svg)
Poco a poco iré explicando más detenidamente su instalación y uso.