電子書籍の厳選無料作品が豊富!

PHP勉強中、Smarty初心者の者です。

PHPだけならば、DBから値を読みだすことは容易にできますが、そこにSmartyが絡んでくるとさっぱりわかりません。
ただ単に、あるDBのテーブルにある値を表示させるというプログラムをSmartyを使った場合で教えていただけないでしょうか!

http://d.hatena.ne.jp/haku69/20070406/1175865347
このサイトで同じことをやっているとは思うのですが、
require_once("bbs_top_model.php5");
require_once('SmartyManagerClass.php');
としているので、このソースをそのまま使ってもたぶんできないと
考え、質問させていただきます。

わからないからすぐ質問しているというわけではなく、自分で本やサイトを調べましたが、わからず、立ち止っている時間がもったいないので質問させてもらいます。

お優しい方、よろしくお願いします!

A 回答 (3件)

{include_php}は


> Smarty ではほとんど推奨されていません
とあります。PHP→Smarty→PHPとなるからMVCとしてはいまいちです。

とりあえず{foreach}でしょうか。(3章 基本構文は必須)
http://www.smarty.net/manual/ja/language.functio …

DBから普通に複数行取ってくれば2次元配列になっているでしょうから
--- php
$smarty->assign('items', $取得した配列);
--- tpl
<table>
<tr><th>id</th><th>name</th></tr>
{foreach key="key" item="item" from=$items}
<tr><td>{$item.id}</td><td>{$item.name}</td></tr>
{/foreach}
</table>

で一覧表示です。
    • good
    • 0

>の、database.class.php は、どこかにありますか?


明らかに自作のクラスみたいでよね。
読んでいれば雰囲気でわかるはずだけど
DB周りを自分でクラス化しているのでしょう。
俺自身もPEARのDB.phpを利用したDB周のクラスを自作して
それを利用していますけどね。

この回答への補足

わからないから、聞いているのです。
読んでいれば雰囲気でわかるはずだけど

補足日時:2008/11/21 12:17
    • good
    • 0

http://www.smarty.net/manual/ja/
公式マニュアルくらい読んでいるよね?
例文付きだし公式マニュアルはとてもとてもわかりやすく書かれています。
これが理解できないレベルだとかなりきついですけど

この回答への補足

ご回答ありがとうございます。

その公式マニュアルで、
<?php

// mysql データベースから変数の値を読み込み、それをテンプレートに割り当てます
require_once('database.class.php');
$db = new Db();
$db->query('select url, name from navigation order by name');
$this->assign('navigation', $db->getRows());

?>

http://www.smarty.net/manual/ja/language.functio …

とあるのですが、
require_once('database.class.php');
の、database.class.php は、どこかにありますか?

補足日時:2008/11/20 13:22
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!