人気ブログランキング | 話題のタグを見る
(PHP)Smartyで連想配列をアサインした場合
PHP側からDBで取得した値を2次元連想配列としてアサインしたときに、Smartyテンプレートにどう書くかです。

ドットで(.)で連想配列名(クォーテーションなし)でアクセスできるようです。
●テンプレート側
{section name=iCnt loop=$inputAry}
1列目:{$inputAry[iCnt].id} 2列目:{$inputAry[iCnt].name}<br>

{/section}



●PHP側(MySQLからデータ取得後に、2次元配列つくりテンプレートにアサイン)
//MySQLからデータ取得した後
$resAry = array();
while ($row = mysql_fetch_assoc($result)) {
array_push($resAry ,array("id" => $row["id"] , "name" => $row["name"]));
}
 
//Smarty読み込み
require_once('../../smarty/Smarty.class.php');
//Smartyオブジェクト作成
$smarty = new Smarty();
//Smartyがらみのディレクトリ設定
$smarty->template_dir = "../../smarty/templates";
$smarty->compile_dir = "../../smarty/templates_c";
$smarty->cache_dir ="../../smarty/cache";
//アサイン
$smarty->assign("inputAry", $resAry);
//テンプレート表示
$smarty->display("index.tpl");


参考:
PHPSPOT開発日誌:Smarty徹底入門(3):assignした配列を読み込む
by jehoshaphat | 2009-09-14 23:58 | PHP開発


<< (PHP)MySQLへの接続時... (PHP)Smartyインスト... >>