PHP SMARTY 嵌套循环问题

这是PHP代码:$RwQuery="SELECTId,TitleFROMClassificationORDERBYRankDESC,IdDesc";$result=mys... 这是PHP代码:
$RwQuery = "SELECT Id,Title FROM Classification ORDER BY Rank DESC,Id Desc";
$result = mysql_query($RwQuery);
$i = 24;
while(($rw = mysql_fetch_array($result)) && $i > 0){
$Classification[] = array("Id"=>substr($rw["Id"], 0, 40),"Title"=>mb_substr($rw["Title"], 0, 40,'utf-8'));
$RsQuery = "SELECT Id,Title,ClassId FROM Subification where ClassId=2 ORDER BY Id Desc";
$Rsresult = mysql_query($RsQuery);
$a=10;
while(($rs = mysql_fetch_array($Rsresult)) && $a > 0){
$Subification[] = array("Id"=>substr($rs["Id"], 0, 40),"Title"=>mb_substr($rs["Title"], 0, 40,'utf-8'));
$a--;}
$i--;}
这是TPL代码:
<div id="ClassList">
<{foreach from=$Classification item=Cloop}>
<dl>
<dt><a href="#"><{$Cloop.Title}></a></dt>
<{foreach from=$Subification item=Sloop}>
<dd><a href="#"><{$Sloop.Title}></a></dd>
<{/foreach}>
</dl>
<{/foreach}>

循环出来的时候 主分类显示正常 子分类我限制显示前15个 但是输出的时候显示好多遍
展开
 我来答
hotdigger
2010-06-23 · TA获得超过3590个赞
知道大有可为答主
回答量:1458
采纳率:50%
帮助的人:618万
展开全部
是你数据组和写法不对.
把子分类组织成数组,作为主分类的一个元素.结构类似这样的.
array(array('title'=>'大分类一','Sloop'=>array('title'=>'子分类一')))
我习惯用section,所以用section给你举例子.
{section name=t1 loop=$Cloop}
<dl>
<dt><a href="#"><{$Cloop[t1].Title}></a></dt>//大分类的标题

{section name=t2 loop=$Cloop[t1].Sloop}//处理大分类下的小分类,sloop是一个数组.
<dd><a href="#"><{$Cloop[t1].Sloop[t2].Title}></a></dd>
{/section}
<dl>
{/section}
songtree0119
2010-06-23 · TA获得超过323个赞
知道小有建树答主
回答量:522
采纳率:100%
帮助的人:252万
展开全部
当然出来好多遍了,你一直用$Subification[] = 这不就是一直在给数组加数据呢吗,再说了,你也没对应主分类啊,

$Subification = array();
while(($rs = mysql_fetch_array($Rsresult)) && $a > 0){
这样写 就不会那么多数据了 ,不过这样也没有对应上主分类,而用的都是同一个子分类, 你 要嵌套也需要和主分类对应上, 可以用主分类的数组来包含 这个子类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jlb87720788
2010-06-24 · 超过11用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:36.3万
展开全部
你在 <foreach> 设置一个 key=k 这个是 数组的键值 然后 在下面判断 <if k>15></if> 上面有个回答者用 <section> 来循环 个人觉得还是 <foreach> 好...如果是多维数组的话 就能体现到 foreach 的好处了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式