求助
发布于:2022-01-17 09:50:54
#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
首先非常感谢版主大人的解答。
按照您的方法,循环出来还是有一定的问题。如图

实际数据表的结构是
站点:

频道:

按照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