Salut,
"mais il affiche que la derniere ligne de la table "
C'est normal : tu ne récupère qu'une seule ligne, puisque tu n'executes qu'un seule fois la méthode fetch().
Utilise fetchAll() au lieu de fetch().
La méthode fetchAll() retourne un tableau avec tous les résultats (ce qui est quand même plus intéressant que de boucler sur fetch())
"et aussi j'arrive pas a afficher résultat de PDO dans moteur tempate smarty surtout si'il s'agit de stoker tableau ou résultat de sql avec plusieurs résultats."
Dans Smarty, tu peux boucler sur un tableau. En l'occurrence, tu as récupéré un tableau avec fetchAll(), il te suffit de l'assigner à une variable de Smarty :
$Smarty -> assign('tableau', $lines);
Dans le template :
{foreach from=$tableau item=ligne}
{$ligne.date} : Patati, patata
{/foreach}
Neige
N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...