请教smarty中的section问题

wygniuge 2006-12-29 08:14:02
在smarty中有关section 中的讲解有这样一段:
//////////////////////////////////////////////
{section name=mydata loop=$custid}
id: {$custid[mydata]}<br>
name: {$name[mydata]}<br>
address: {$address[mydata]}<br>
<p>
{/section}
///////////////////////////////////////
我这里不明白 loop明明是等于$custid数组的 在循环体里面为什么 出现了
$name[mydata] 和 $address[mydata]} 这是怎么回事啊 手册里没有给出数组的原形 很郁闷 百思不得其解。
还有欠套循环就跟糊涂了
手册代码:
{section name=customer loop=$custid}
id: {$custid[customer]}<br>
name: {$name[customer]}<br>
address: {$address[customer]}<br>
{section name=contact loop=$contact_type[customer]}
{$contact_type[customer][contact]}: {$contact_info[customer][contact]}<br>
{/section}
<p>
{/section}

请高手赐教。谢谢!
...全文
252 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wygniuge 2007-01-03
  • 打赏
  • 举报
回复
呵呵 也没有个标准教程 想学好不容易啊
an9ryfr09 2006-12-30
  • 打赏
  • 举报
回复
smarty手册中,很多地方确实写的不明不白的。

你这样理解就可以了:
如果你传过来的是一个表的多条数据,那么$custid肯定是一个二维数组,$custid[mydata]中的mydata是smarty的循环增量,如[0],[1],[2]等等。所以取值就$custid[mydata].columname,columname就是你的字段名就行了。

如果你传过来的是个一维数组,就是说仅仅为一个表中的一条数据,那直接$custid.columname就可以取值了。
helloyou0 2006-12-30
  • 打赏
  • 举报
回复
setcion就是用来同时在几个数组中循环的,当然几个数组的下标要保持一致
你这里的$name, $custid, $address就是这样3个数组
foolbirdflyfirst 2006-12-30
  • 打赏
  • 举报
回复
1.有可能$name已经被指派过,that means maybe it has assigned like $smary->assign("name",$name);
而name数组以及adress数组下标和$custid保持一致.
2.$contact_type和$contact_info是个二维数组,第一维key与$custid的key保持一致
懒得去死 2006-12-30
  • 打赏
  • 举报
回复
可以这样理解:
for($i=0;$i<..;$i++);
$i<==>$custid
Deckguan 2006-12-30
  • 打赏
  • 举报
回复
呵呵!感觉楼上的对啊!!!我也是新手!
genshing 2006-12-29
  • 打赏
  • 举报
回复
貌似楼主的不对吧.
我用的都是:
{section name=mydata loop=$custid}
id: {$custid[mydata].id}<br/>
name: {$custid[mydata].name}<br/>
address: {$custid[mydata].address}<br/>
<p>
{/section}

这样看起来不就符合了?.. 楼主的那种用法 我没懂 能正常显示值?

21,886

社区成员

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

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