0017

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

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

2010.3.15

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

環境

プログラムの内容

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

フォルダ構成

index.phpソース

//smartyクラス読み込み
require './smarty/Smarty.class.php';
$smarty = new Smarty;   //smartyインスタンス作成

//DB接続(練習のため、とりあえず直書きで)
$conn = mysql_connect(localhost,root,root)or die(失敗);
//使用するデータベースを選択する
mysql_select_db(postnum,$conn);

//SQL文作成(練習のため、とりあえず直書きで)
$sql = select * from zipcode limit 10;      //10件表示
mysql_query(set names utf8);
$result = mysql_query($sql,$conn);

//検索結果($result)をwhileでsmarty配列に入れる
while($rows = mysql_fetch_array($result)){
    $smarty-append('contents',$rows); //contentsという名前で配列に入れる } //DB接続解除 mysql_close($conn); //もしも、個別に表示したい時はこんな感じで書く $data = Hello World!!; $smarty->assign('hello',$data); //テンプレート呼び出し $smarty->display('index.tpl'); ?>

index.tplソース



  
  {$hello}


  

{$hello}


{section name=post_list loop=$contents}

郵便番号:{$contents[post_list].postnum}:{$contents[post_list].ken_kanji}{$contents[post_list].city_kanji}

{/section}

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



  
  Hello World!!


  

Hello World!!


郵便番号:0600000:北海道札幌市中央区

郵便番号:0640941:北海道札幌市中央区

郵便番号:0600041:北海道札幌市中央区

郵便番号:0600042:北海道札幌市中央区

郵便番号:0640820:北海道札幌市中央区

郵便番号:0600031:北海道札幌市中央区

郵便番号:0600001:北海道札幌市中央区

郵便番号:0640821:北海道札幌市中央区

郵便番号:0600032:北海道札幌市中央区

郵便番号:0600002:北海道札幌市中央区

参考