从数据库查询数据,浏览器以表格形式显示

模板页面

<table border="1" width="800" align="center">
<caption>用户信息表</caption>
            <{foreach $tdname as $val}>
                            <th><{$val}></th>
            <{/foreach}>
            <{foreach $users as $user}>        
                    <{if $user@first}>
                            <tr bgcolor="red">
                    <{elseif $user@last}>
                            <tr bgcolor="yellow">
                    <{elseif $user@index is even}>
                            <tr bgcolor="pink">
                    <{else}>
                            <tr bgcolor="gray">
                    <{/if}>                    
                            <{foreach     $user as $val}>
                                    <td align="center">
                                    <{$val}>
                                    </td>
                            <{/foreach}>
                    </tr>
                    <{foreachelse}>
                    没有用户查询出来!
            <{/foreach}>
</table>

PHP页面

<?php 
//创建smarty对象
require_once './libs/Smarty.class.php';
//定义根目录
define('ROOT', str_replace("\\", "/",dirname(__FILE__))."/");
//实例化Smarty类
$smarty=new Smarty();
//设定定界符
$smarty->left_delimiter="<{";
$smarty->right_delimiter="}>";
//设置为false 定界符号左右可以有空格
$smarty->auto_literal = false;

//添加一个插件的目录
//$smarty->setPluginsDir(ROOT."/libs/myplugins/");

//注意添加一个插件,要把系统默认设置的路径加入 否则不能使用默认系统的插件
$smarty->setPluginsDir(array(
    ROOT."/libs/plugins/",//系统默认设置的路径
    ROOT."/libs/myplugins/",//自定义的
));

//连接数据库
const  DSN = 'mysql:host=localhost;dbname=test';
const   DBUSER = 'root';
const   DBPWD     = 'root';
try{
    $pdo = new PDO(DSN, DBUSER,DBPWD);
}catch(PDOException $e){
    echo "数据库连接失败:".$e->getMessage();
    exit;
}
$query = "select id, username, password,email from users";
$stmt = $pdo->prepare($query);
$stmt ->execute();
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
//var_dump($users);

$smarty->assign('users',$users);

$query = "desc users";
$stmt = $pdo->prepare($query);
$smarty->assign("users",$users);
$stmt ->execute();
$tdname = $stmt->fetchAll(PDO::FETCH_COLUMN);
//var_dump($tdname);

$smarty->assign('tdname',$tdname);

//变量输出
$smarty->display('hello.tpl');

?>

浏览器显示

PHP Smarty 模板  if函数 foreach函数  _PHP