账号通
    

账号  

密码  

2207

查看

4

回复
主题:关于SQL标签内IF判定内SQL标签套嵌的问题 [收藏主题] 转到:  
boyinhot 当前离线

91

主题

1

广播

2

粉丝
添加关注
级别:学前班

用户积分:522 分
登录次数:67 次
注册时间:2008/3/12
最后登录:2017/9/21
boyinhot 发表于:2013/6/9 12:25:15   | 显示全部帖子 查看该作者主题 楼主 

我想做一个SQL导航列表,用自带的太鸡肋,我想使用SQL输出,先做了一个循环栏目的套嵌方式

内循环SQL查询语句:

select top 50 tn,id,foldername from ks_class where tn='{$Param(0)}' order by folderorder

循环语句:

[loop=50]
<li><a href="{$Field(id,GetInfoUrl,100,1)}">{$Field(foldername,Text,0,...,0,)}</a></li>
[/loop]


外循环SQL查询语句:

select top 10 child,id,foldername,tj,topflag from ks_class where tj=1 and topflag=1 order by Root

tj代表1级栏目

topflag代表是否显示

child代表是否包含子栏目


循环语句:

[loop=10]
<li>
   <a href="{$Field(id,GetInfoUrl,100,1)}">{$Field(foldername,Text,0,...,0,)}</a>
<ul>
   {SQL_栏目内循环({$Field(id,GetInfoUrl,100,2)})}
</ul>
</li>
[/loop]


以上输出时是没有任何问题,只是在遇到栏目下没有子栏目的时候会输出一个(没有记录!)

这让我很难受,于是我做了个IF判定,在外循环里改了一下。


循环语句:

[loop=10]
{$IF "{$Field(child,Num,0,2)}"="0"}
{<li>
  <a href="{$Field(id,GetInfoUrl,100,1)}">{$Field(foldername,Text,0,...,0,)}</a>
</li>}
{<li>
   <a href="{$Field(id,GetInfoUrl,100,1)}">{$Field(foldername,Text,0,...,0,)}</a>
<ul>
   {SQL_栏目内循环({$Field(id,GetInfoUrl,100,2)})}
</ul>
</li>}
{/$IF}
[/loop]

以上意思是如果栏目没有子栏目,则输出栏目标题就可以了,如果有子栏目,则同时输出子栏目的循环。

很美好是吧,但是就是实现不了,我反复检查了语句,真的不知道哪里错了,求大神回复

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
boyinhot 当前离线

91

主题

1

广播

2

粉丝
添加关注
级别:学前班

用户积分:522 分
登录次数:67 次
注册时间:2008/3/12
最后登录:2017/9/21
boyinhot 发表于:2013/6/21 3:29:38   | 显示全部帖子 查看该作者主题 沙发 
忘记说了,我的菜单用JS控制的,所以空出来JS会输出一个空的LI,所以我必须在LI的CLASS里写上HIDE,不过我用了一个近乎BUG的脑残方法达成了,还是使用IF判定语句,在内循环里,看图点击查看原图



就这样居然显示没问题了,可能在外循环调用时不支持内循环有IF判定吧,也可能是个BUG,V9的BUG还是很多

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.07813秒 powered by KesionCMS 9.0