在smarty里怎样循环显示数据库取出数据一组数据?

木木小马 2008-09-20 04:48:37
在smarty里怎样循环显示数据库取出数据一组数据?最好给个最简单的实例,谢谢
...全文
422 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jlzan1314 2008-09-23
  • 打赏
  • 举报
回复
手册无敌.
xiaditao2008 2008-09-22
  • 打赏
  • 举报
回复
读看下书
xiongbing529 2008-09-22
  • 打赏
  • 举报
回复
{foreach from=$custid item=curr_id}
id: {$curr_id}<br>
{/foreach}
guosheng1987 2008-09-22
  • 打赏
  • 举报
回复
我比较喜欢用这样的方式。

php

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$datas[] = $row;
}

$smarty->assign('data',$datas);
$smarty->display('test.html');

test.html

{section name = i loop = data}
{$data[i].id} {$data[i].name}
{/section}

一般是放在table里面
hcht2008 2008-09-22
  • 打赏
  • 举报
回复
比如$DataArr是一个数据:
$DataArr=array("1"=>array("1"=>"a","2"=>"b"),"2"=>array("1"=>"c","2"=>"d"));

把这个数据传给Smarty模板后:
<table border="1">
{foreach from=$DataArr key=j item=Data}
<tr>
<td>第{$j}行
</td>
<td>{$Data.1}
</td>
<td>{$Data.2}
</td>
</tr>
{/foreach}
</table>

结果显示:
第1行 a b
第2行 c d
「已注销」 2008-09-22
  • 打赏
  • 举报
回复
支持一下。
identity 2008-09-22
  • 打赏
  • 举报
回复
先看下手册。
北里闻箫 2008-09-21
  • 打赏
  • 举报
回复
最好是在取数据的时候构造,而不是在smarty里想办法。

比如
一、
取数据的时候。
假设数据里字段为id ,data

while($arr=mysql_fetch_assoc($result))
{
$info[]=$arr;
}

smarty里写为:

<!-- BEGIN info -->
{id} {data}
<!-- END info -->

这时候就已经循环显示了。

二、也可以处理多维数组。
比如。在上面的

$info里。增加一个字段,data_2 ,同时data_2是数组,包含了id,data_2两个字段。

那么smarty里写为:
<!-- BEGIN info -->
{id} {data}
<!-- BEGIN data_2 -->
{id} {data_2}
<!-- END data_2 -->
<!-- END info -->



TR@SOE 2008-09-20
  • 打赏
  • 举报
回复
最好是用section,也可以考虑foreach。

具体语法吗,可以看我翻译的Smarty中文手册:http://www.rsywx.net
木木小马 2008-09-20
  • 打赏
  • 举报
回复
先顶一下

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧