Hallo Sandy,
Wie Roger schon richtig bemerkt hat, ist Smarty eine Templateengine, die in php geschrieben und von php aufgerufen wird. Daher gibt es zu jedem Template (mindestens) eine php-Datei, in der dieses angesteuert wird. Diese Datei ist dann der richtige Ort für DB-Queries. Das Ergebnis (hat geklappt oder nicht oder was weiss ich) kann dann wieder als Wert an Smarty übergeben und durch das Template angezeigt werden.
Gruß Olaf
P.S.: Ach ja, man kann auch in Smarty-Templates php einbinden. Dann hat man allerdings überhaupt keine Trennung mehr zwischen Logik und Layout und kann gleich alles in php machen.