1

通常、次のようにデータベースからデータを取得して返します。

$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}
4

1 に答える 1

2

{$row.id}テンプレートでandを使用する必要があり{$row.name}ます (foreach は使用しません)。

更新。すべての行を取得する場合:

$rows = array();
while ($rows[] = mysql_fetch_assoc($result)) {}
$smarty->assign('rows', $rows);

テンプレート内:

{foreach from=$rows item=row}
     {$row.name}
{/foreach}
于 2012-05-01T21:48:17.140 に答える