<?php
include('Smarty.class.php');
MostrarAutores();

function MostrarAutores() {

        $conn = pg_connect("dbname=alvherre");
        if (!$conn)
        {
                mostrarMensajeError();
        }

        $sql = <<<EOSQL
SELECT a.nombre AS autor, "fecha de nacimiento",
       i.nombre AS institucion, nacionalidad
  FROM autores a JOIN instituciones i USING (institucion_id)
EOSQL;
        $res = pg_query($sql);

        if (!$res)
                mostrarMensajeError();

        if (pg_num_rows($res) == 0)
        {
                print("No hay registros");
                return;
        }

        $smarty = new Smarty;
        $arr = array();

        while ($row = pg_fetch_array($res))
        {
                $item = array(
                        'autor' => $row[0],
                        'fecha_nac' => $row[1],
                        'institucion' => $row[2],
                        'nacionalidad' => $row[3]
                );
                array_push($arr, $item);
        }

        $smarty->assign('autores', $arr);
        $smarty->display('TablaAutores.tmpl');
}

function mostrarMensajeError()
{
        $smarty = new Smarty;
        $smarty->display('MostrarError.tmpl');
}

?>

Valid HTML 4.01!