ホーム > フォーラム > 二次元配列 テンプレートに渡す方法

二次元配列 テンプレートに渡す方法
投稿者: kimura0118 | 投稿日時: 2012/12/6 14:45 | 閲覧: 5489回
kimura0118

こんにちは、下記のコードで
テーブルのデータ($list)を$tpl->assign('lists', $list);に渡し
テンプレート側で
<{foreach item=values from=$lists}>
<{foreach item=unit from=$values.unit}>
<{$unit.id}<br>>
<{$unit.title}<br>>
<{/foreach}>
<{/foreach}>
とし、idやtitleを表示しようとしたのですが、Smarty errorが出てしまいます。
二次元配列($list[$cnt]['id'])の場合、どのようにテンプレートに渡せばよいのでしょうか?
(テーブルデータがなかった場合、$tpl->assign('lists', 'データなし');としてるので配列とも限らなかったりするので、ここも考え中です。)

phpコード-----------------
$db =& Database::getInstance();
$list = array();
//一覧データ取得
if($result = $db->query($sql)) {
$cnt = 0;
while($rows = $db->fetchArray($result)) {
//表示データ配列
$list[$cnt]['id'] = $rows['id'];
$list[$cnt]['title'] = $rows['title'];
$cnt++;
}
}

if($list == array()){
$tpl->assign('lists', 'データなし');
}else{
$tpl->assign('lists', $list);
}
return $tpl;

コメント(2)

新しいものから | 古いものから | ネスト表示 | RSS feed
Re: 二次元配列 テンプレートに渡す方法 
投稿者: naao | 投稿日時: 2012/12/6 21:01
naao

<{$unit.id}<br>>
<{$unit.title}<br>>

ここがおかしいですね。

<{$unit.id}><br>
<{$unit.title}><br>

じゃないかな?
Re: 二次元配列 テンプレートに渡す方法 
投稿者: kimura0118 | 投稿日時: 2012/12/7 0:45 | 親コメント: #21177
kimura0118

ありがとうございます。
<{$unit.id}<br>>
気づきませんでした。(汗

    投票(0)

    新しいものから | 古いものから | RSS feed
     
    To Top