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>

Smarty中一些标签的使用的更多相关文章

  1. 在php中,如何将一个页面中的标签,替换为用户想输出的内容

    前言:釜山行,暴露人性, ———————————————————————————————————————————————————————————————————————————— 今天说一个最简单的例 ...

  2. 仿Smarty替换模板标签时遇到的问题

    最近正在做一个微型的仿TP框架,当然以鄙人之技术只能略仿表层,于是遇到的问题层出不穷.今天做到View层替换模板部分,本以为一下子搞掂的事,果不其然又是败下阵来. 好了,来重点. 模板文件 test1 ...

  3. smarty中的变量使用

    在模板中输出动态数据可以用{},所以容易与css中的标签相互冲突,所以使用{literal}{/literal}标签包起来就不会用模板的解析方式解析,变量的来源有三种,用assign方法赋值,系统保留 ...

  4. smarty中的修饰函数

    smarty中的修饰函数: 对在模板文件中显示的数据变量进行二次修饰. 格式: {ts:变量|函数名:参数1:参数2:参数3...|函数名:参数1:参数2...} 常见的修饰函数: capitaliz ...

  5. Smarty中{literal}的使用详解(ecshop)

    如何在文件里加入JS代码,如果按一般平常添加方法,会出错,解决的方法:把script套在{literal}{/literal}之间试试看,例如:{literal} {/literal} ------- ...

  6. Html中<font>标签的使用

    Html中<font>标签的使用 <!doctype html> <html lang="en"> <head> <meta ...

  7. jsp2.0+中的标签文件,JSP Fragment技术

    刚进新公司不久,今天在看到项目中用到了.tag文件.刚开始我还以为这个是第三方类似freemarker的模板技术.问了下项目组的其他人员,原来这是jsp2.0以来就有的JSP Fragment技术.以 ...

  8. Html中<a>标签的样式的设置

    html中<a>标签的样式的设置.. ------------------------ <html> <head> <title>这是网页选项卡的名称& ...

  9. 禁止手机页面中A标签长按弹出路径框

    //禁止手机页面中A标签长按弹出路径框    window.onload=function(){        document.documentElement.style.webkitTouchCa ...

随机推荐

  1. JNI: Passing multiple parameters in the function signature for GetMethodID

    http://stackoverflow.com/questions/7940484/jni-passing-multiple-parameters-in-the-function-signature ...

  2. ffmpeg ffprobe ffplay

    ./ffprobe -print_format json -show_format -show_frames -select_streams v -i ../hhh.flv ./ffprobe -pr ...

  3. gulp 基础运用

    全局安装gulp $npm install --global gulp 作为项目的开发依赖安装 //--save-dev 开发依赖,储存在package.json的devDependencies中,如 ...

  4. AdapterView及其子类之二:使用ListActivity及ArrayAdapter创建列表

    见归档项目ListActivityDemo.zip. 基本步骤如下: 1.创建一个TextView,用于指定每一个ListView的格式 <?xml version="1.0" ...

  5. java基础理论知识的一些总结

    在学习Java初期,由于我们是刚开始接触Java,我们不仅需要牢牢掌握Java的基础理论知识,来为我们后面对Java更深层次的学习打好基础,而且我们需要养成编程人的思想习惯.来我们一起来探索Java基 ...

  6. NSTimer运行机制和线程问题

    A.首先要理解NSTimer运行机制和Runloop之间的关系: 1.IOS的Run Loops机制 Run Loops是线程的基础部份,任何线程,包括主结程,都包含了一个run loop对象,Coc ...

  7. 【09】绝不在构造和析构过程中调用virtual方法

    1.绝不在构造和析构过程中调用virtual方法,为啥? 原因很简单,对于前者,这种情况下,子类专有成分还没有构造,对于后者,子类专有成分已经销毁,因此调用的并不是子类重写的方法,这不是程序员所期望的 ...

  8. .NET连接MySQL数据库的方法实现

    突然对.NET连接MySQL数据库有点兴趣,于是乎网上到处找资料,学习MySQL的安装,MySQL的使用等等等等,终于搞定了! 最终效果就是显示数据库中数据表的数据: 首先,当然要有MySQL数据库啦 ...

  9. java推断字符串是否为乱码

    项目中有一个功能 在IE中GET方式提交会产生乱码 但有两个入口都会走这同一段代码 固不能直接转码,所以要进行推断传过来的该值是不是乱码 可用下面方式验证: java.nio.charset.Char ...

  10. MySQL 中的两种临时表

    来源:阿里云RDS - 数据库内核组 链接:http://mysql.taobao.org/monthly/2016/06/07/ 外部临时表 通过CREATE TEMPORARY TABLE 创建的 ...