Smartyで画像とメッセージの一覧表示
<?php
session_start();
if (isset($_SESSION['us']) && $_SESSION['us'] !=null){ ➀
$ps = $db->query('SELECT * FROM table1 ORDER BY ban ASC'); ➂
$r = $ps->fetchAll(); ➃
}else{
session_destroy(); ➄
}
?>
①sessionが存在するかチェック
➁データベース初期化
③PDOでクエリ発行
➃fethcAllメソッドでレコードSELECTで指定されたレコード全件取得し変数$rに格納
➄セッションが存在しない場合、遷移
➆Smartyオブジェクトの設定
⑧必要なテンプレート変数をセット
➈テンプレートの呼び出し(実行)
<HTML>
<HEAD>
<TITLE>ようこそABC写真へ!</TITLE>
</HEAD>
<BODY>
<P STYLE='color: red'>ABC写真</P>
{foreach from=$myArray item=foo} ➀
<p>{$foo.ban}【投稿者:{$foo.nam}】{$foo.dat}<BR> ➁
{$foo.mes|nl2br}<BR> ➂
{$foo.gaz}</p>
<A HREF='./gz.img/{$foo.gaz}' TARGET='_bank'>
<IMG SRC="./gz_img/thumb_{$foo.gaz}"></A><HR>
{/foreach}
➀{foreach}関数は記述したPHPから渡されてきた配列を1つ1つ取り出して処理する場合
(例)
{foreach from=配列変数 item=要素を格納する変数}
繰り返し処理の中で行う処理
{/foreach}
繰り返し処理の中で行う処理
{/foreach}
➁{要素を格納する変数.カラム名}で、カラムの値を表示
➂{要素を格納する変数.カラム名|nl2br}でメッセージの改行を反映
実行結果