PHP+MySQL+Smartyでとりあえず表示

PHP

今までsmartyのインストールが難しいものだと思い込んでいたのですが、思っていたより簡単にできたので、備忘録を兼ねてメモしておこうと思います。

環境

  • MacOSX 10.5.8
  • MAMP環境下

プログラムの内容

DBに登録されている郵便番号データを10件表示するという初歩的なプログラムです。

フォルダ構成

  • index.php…プログラムファイル(index.php)。ソースコードは後述。
  • smarty…smartyのプログラムが入っているフォルダ。
  • templates…テンプレートファイル(index.tpl)。ソースコードは後述。
  • templates_c…テンプレートファイルがコンパイルされ、生成されたファイルを入れるフォルダ。最初は空。

index.phpソース

“`append(‘contents’,$rows); //contentsという名前で配列に入れる
}
//DB接続解除
mysql_close($conn);

//もしも、個別に表示したい時はこんな感じで書く
$data = “Hello World!!”;
$smarty->assign(‘hello’,$data);

//テンプレート呼び出し
$smarty->display(‘index.tpl’);
?>“`

index.tplソース

“`<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>{$hello}</title>
</head>
<body>
<h1>{$hello}</h1>
<hr />
{section name=post_list loop=$contents}
<p>
郵便番号:{$contents[post_list].postnum}:{$contents[post_list].ken_kanji}{$contents[post_list].city_kanji}
</p>
{/section}
</body>
</html>“`

プログラム結果(ソースと画面イメージ)

“`<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>Hello World!!</title>
</head>
<body>
<h1>Hello World!!</h1>
<hr />
<p>郵便番号:0600000:北海道札幌市中央区</p>
<p>郵便番号:0640941:北海道札幌市中央区</p>
<p>郵便番号:0600041:北海道札幌市中央区</p>
<p>郵便番号:0600042:北海道札幌市中央区</p>
<p>郵便番号:0640820:北海道札幌市中央区</p>
<p>郵便番号:0600031:北海道札幌市中央区</p>
<p>郵便番号:0600001:北海道札幌市中央区</p>
<p>郵便番号:0640821:北海道札幌市中央区</p>
<p>郵便番号:0600032:北海道札幌市中央区</p>
<p>郵便番号:0600002:北海道札幌市中央区</p>
</body>
</html>“`

参考

タイトルとURLをコピーしました