通常我从数据库中检索并返回数据,如下所示:
$sql = "SELECT * FROM users";
$res = mysql_query($sql);
while ($row = mysql_fetch_assoc($res)) {
echo $row['id'];
echo $row['name'];
}
但是如何使用Smarty返回数据?
我想,我必须指定$row
:
$smarty->assign('row', $row);
$smarty->display('search.tpl');
但我不确定如何实际显示它。这不起作用:
{foreach from=$row item=item}
{$item}
{/foreach}
答案 0 :(得分:2)
您应该在模板中使用{$row.id}
和{$row.name}
(没有foreach)。
UPD。如果你想获得所有行:
$rows = array();
while ($rows[] = mysql_fetch_assoc($result)) {}
$smarty->assign('rows', $rows);
在模板中:
{foreach from=$rows item=row}
{$row.name}
{/foreach}