Smarty中的标签和php中的标签不一样
foreach标签{foreach from=$goods(变量名) key='键,不带$' item='值,不带$'}中间的显示内容{/foreach}
section标签{section loop=$goods变量名 name=临时角标} 显示内容$goods[临时角标].goods_id{/section}
while循环标签{while $age<18}中间是显示内容,$age要进行运算,否则将是死循环{/while}
封装类mySmarty.php
<?php
//将smarty的配置信息封装成类
class mySmarty extends Smarty{
public function __construct(){
parent::__construct();//首先调用父类的构造函数 $this->template_dir='./temp';//显示文件的目录
$this->compile_dir='./comp';//编译好的文件目录
}
} ?>
控制页面01.php
<?php
//引入Smarty类
require('../../smarty3/libs/Smarty.class.php'); //引入封装的子类
require('./mySmarty.php'); $mysm=new mySmarty(); $conn=mysql_connect('localhost','root','111111');
mysql_query('use boolshop',$conn);//选库
mysql_query('set names utf8',$conn);//设置编码
$sql='select goods_id,goods_name,goods_number,shop_price from goods limit 5';
$rs=mysql_query($sql,$conn);
$arr=array();
while(($row=mysql_fetch_assoc($rs))!==false){
$arr[]=$row;
}
//print_r($arr);
$mysm->assign('goods',$arr); //定义一个年龄属性
$mysm->assign('age',16);
//传当前时间的时间戳
$mysm->assign('time',time());
$mysm->display('01.html');
?>
01.html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>显示数据</title>
<style type="text/css">
{literal}
p{
font-size:25px;
background:green;
} {/literal}
</style> </head>
<body>
用foreach遍历数组<br/>
{foreach from=$goods key='key' item='v'}
<p>
id号:{$v['goods_id']},商品名字:{$v['goods_name']},商品价格{$v['shop_price']},商品储存量 {$v['goods_number']} </p>
{/foreach}
用section遍历数组<br/>
{section loop=$goods name=g}
<p>
id号:{$goods[g]['goods_id']},商品名字:{$goods[g]['goods_name']},商品价格{$goods[g]['shop_price']},商品储存量 {$goods[g]['goods_number']}
</p>
{/section}
使用while循环<br/>
{while $age<18}
你{$age++}岁了,还没有成年。
{/while} 格式化时间戳<br/>
当前时间是{$time|date_format:'%Y-%m-%d %H:%M:%S'}
</body>
</html>