求助

#1 shuangfeilee

$website = spClass("website");//实例化站点
$channel = spClass("channel");//实例化频道
$this->site_list = $website->findAll();//取得所有站点
$this->chanl_list = $channel->findAll();//取得所有频道

<{foreach from=$site_list item=site}>
<{$site.sitename}>

<{foreach from=$chanl_list item=channel}>
<{$channel.chnlname}>
<{/foreach}>

<{/foreach}>

我想作双重循环,把所有的站点列出的同时,每个站点下的频道也全部列出...

在框架的HTML怎么作这个循环呀

目前每个站的下属频道对应问题先不作考虑.意思是每个站下面列出的是所有频道不要求所属关系就行

其实就是红色的部分不会弄.求助.谢谢阿

2010-12-22 17:30:36

#2 jake

从代码上面看,
<{foreach from=$chanl_list item=channel}>
<{$channel.chnlname}>
<{/foreach}>
会把全部$chanl_list的chnlname都列出来了。应该没问题。

这样就是全部频道(不分站点)都列出来,而且列出好几次(因为它在上面站点循环的里面)

如果要每个站点然后下面单是列出它从属的频道,那么可以在红色部分加上一个判断
<{foreach from=$site_list item=site}>
<{$site.sitename}>

<{if $site.sitename== $chanl_list.0.sitename}>
<{foreach from=$chanl_list item=channel}>
<{$channel.chnlname}>
<{/foreach}>
<{/if}>
<{/foreach}>
这样就会在站点循环中,跳过其他站点的频道循环。

2010-12-22 21:28:12

#3 shuangfeilee

首先非常感谢版主大人的解答。
按照您的方法,循环出来还是有一定的问题。如图无标题.gif

实际数据表的结构是


站点:

2.jpg
频道:

1.jpg

按照siteid去对应相互的关系。出来的结果就是上面的那个结果。

还得麻烦版主大人指教。

不胜感激啊

2010-12-23 14:46:08

#4 jake

对应的是siteid的话,可以试试:
<{foreach from=$site_list item=site}>
站点:<{$site.sitename}>

<{foreach from=$chanl_list item=channel}>
| 频道:<{if $channel.siteid == $site.siteid}><{$channel.chnlname}><{/if}>
<{/foreach}>
<{/foreach}>

2010-12-23 19:28:44