Smarty is an excellent template system but not so easy to figure out at first. I think this is the way to do what you want but I can't be absolutely sure until tomorrow, if this doesn't work email me and I'll check it out.
There's a smarty forum that can help and make sure you read the help manual, chapter 5 I think.
try:
$sql="SELECT * FROM pronto_contacts";
$result = mysql_query($sql);
$row = array():
while ($row = mysql_fetch_array($result)) {
$record[] = $row;
}
then for the Smarty assign, outside of the braces and together with the rest of the Smarty template designations, preferably after all php code.
$smarty->assign("row", $record);
$smarty->display("index.tpl"); //or whatever you call it
in the file to output, and here I have to look at the previous work I've done in Smarty it's something like:
<table>
{section name=id loop=$row}
<tr> <td>{$row[id].firstname} {$row[id].lastname}</td> </tr>
{/section}
</table>
where firstname or lastname corresponds to the column name in the MySQL table, and the $item[whatever] correspond to the loop(=assigned variable) name and section name respectively - as in {section name=whatever loop=$item}.
Hope this helps. If you have problems email me and I'll take another stab. I recently used Smarty to build a corporate website and it works well, it just lacks good documentation.
Jon Bertsch