PHP模板引擎Smarty内建函数foreach,foreachelse用法分析
本篇章节讲解PHP模板引擎Smarty内建函数foreach,foreachelse用法。分享给大家供大家参考,具体如下: 在 Smarty 模板中,您可以使用 foreach 来重复一个区块。而在模板中则需要从 PHP 中分配过来一个数组。这个数组可以是多维数组。Smarty 中 {foreach} 标记和 PHP 中 foreach 相同,不同的是它们的一个在模板文件中使用,一个在 PHP 脚本中使用。因此,语法会不同。但是,它们的作用都是相同的,即遍历数组中的内容。与 {foreach} 标记相对的还有一个 {foreachelse} 标记,{foreachelse} 标记的作用是:如果数组为空,那么就执行该标记内的内容。 模板中 {foreach} 和 {/foreach} 必须是成对的出现,它有四个参数,其中, from 和 item 两个参数是必要的。关于它的参数请看下面列表:
实例思路:从数据库中取出内容,赋给一个数组变量 $_html ,再给这个数组变量分配给模板,然后在模板中进行该数组的遍历 test.sql (使用到的 SQL 数据) init.inc.php (模板初始化文件) template_dir = ROOT_PATH.'/tpl/'; //重新指定模板目录
$_tpl->compile_dir = ROOT_PATH.'./com/'; //重新指定编译目录
$_tpl->left_delimiter = '<{'; //重新指定左定界符
$_tpl->right_delimiter = '}>'; //重新指定右定界符
?>
index.php(主文件) connect('localhost','root','数据库密码','数据库名'); //连接数据库,请您自行设置
$_mysqli->set_charset('utf8'); //设置编码
$_result = $_mysqli->query("select username,email,addTime from user order by id asc");
$_html = array();
while (!!$_row=$_result->fetch_assoc()) {
$_html[] = $_row;
}
$_tpl->assign('data',$_html); //把数组分配到模板中
$_tpl->display('index.tpl'); //引入模板
$_mysqli->close(); //关闭数据库,释放资源
?>
tpl/index.tpl(主文件 index.php 的模板文件)
foreach,foreachelse
相关内容
|