2012-05-01 4 views
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} 

答えて

2

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

Upd。

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

テンプレートでは:あなたはすべての行を取得したい場合は

{foreach from=$rows item=row} 
    {$row.name} 
{/foreach} 
+0

おかげで、私はそれらのすべてを必要とするため、ループがあるはずです。 – user1170330

+1

アップデートを参照してください。 –

関連する問題