账号通
    

账号  

密码  

11598

查看

13

回复
主题:[分享]SQL标签条件IF应用之二 [收藏主题] 本贴被认定为精华 转到:  
科汛官方 当前离线

47268

主题

145

广播

405

粉丝
添加关注
级别:管理员

用户积分:101604 分
登录次数:7935 次
注册时间:2006/12/7
最后登录:2023/12/14
科汛官方 发表于:2009/3/10 17:56:00   | 显示全部帖子 查看该作者主题 楼主 
做在线知识付费 选科汛云开店

刚到商业区看到用户刚好有这个需求sql标签实现"信息标题的属性,即 字形 颜色 的调用",结合今天中午写的sql标签的IF使用(详见http://bbs.kesion.com/dispbbs.asp?boardid=41&Id=69424),刚好用得上,顺便整理说明一下:


 


效果如下:



此主题相关图片如下:未命名.jpg
未命名.jpg


以上效果用系统函数标签可能轻易做出来,但这里我们是要说明sql标签的使用.所有就不用系统函数标签来做了.


 


根据这个要求,我们首先要查询出ID,Title,Adddate,TitleFontColor,TitleFontType


 


即SQL语句为:


 


select top 10 ID,Title,Adddate,TitleFontColor,TitleFontType from KS_Article where verific=1 order by id desc


 


TitleFontColor为颜色字段


TitleFontType 为字形字段,即1粗体 2斜体 3粗体+斜体


 


知道这两个字段含义及最终效果后,就可以来写循环体了


 


循环体如下:


 


[loop=10]
<li><a href="{$Field(ID,GetInfoUrl,1,1)}">
{$IF("{$Field(TitleFontType,Text,0,...,0,0)}"="1"||<B>||)}
{$IF("{$Field(TitleFontType,Text,0,...,0,0)}"="2"||<I>||)}
{$IF("{$Field(TitleFontType,Text,0,...,0,0)}"="3"||<B><I>||)}


{$IF("{$Field(TitleFontColor,Text,0,...,0,空)}"<>"空"||
<span style="color:{$Field(TitleFontColor,Text,0,...,0,)}">{$Field(Title,Text,0,...,0,)}</span>
||
{$Field(Title,Text,0,...,0,)}
)}
{$IF("{$Field(TitleFontType,Text,0,...,0,0)}"="1"||</B>||)}
{$IF("{$Field(TitleFontType,Text,0,...,0,0)}"="2"||</I>||)}
{$IF("{$Field(TitleFontType,Text,0,...,0,0)}"="3"||</B></I>||)}


</a>


<span class="d">({$Field(Adddate,Text,0,...,0,)})</span>
</li>
[/loop]

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
科汛官方 当前离线

47268

主题

145

广播

405

粉丝
添加关注
级别:管理员

用户积分:101604 分
登录次数:7935 次
注册时间:2006/12/7
最后登录:2023/12/14
科汛官方 发表于:2009/3/10 17:56:00   | 显示全部帖子 查看该作者主题 沙发 

这里我来解释下循环体的含义


[loop=10]     <!--显示10条信息-->



<li><a href="{$Field(ID,GetInfoUrl,1,1)}">       <!--得到信息URL-->



{$IF("{$Field(TitleFontType,Text,0,...,0,0)}"="1"||<B>||)} <!--如果TitleFontType=1输出<b>,否则输出空-->
{$IF("{$Field(TitleFontType,Text,0,...,0,0)}"="2"||<I>||)}  <!--如果TitleFontType=2输出<i>,否则输出空-->
{$IF("{$Field(TitleFontType,Text,0,...,0,0)}"="3"||<B><I>||)} <!--TitleFontType=1输出<b><i>,否则输出空-->


 


{$IF("{$Field(TitleFontColor,Text,0,...,0,空)}"<>"空"||
<span style="color:{$Field(TitleFontColor,Text,0,...,0,)}">{$Field(Title,Text,0,...,0,)}</span>
||
{$Field(Title,Text,0,...,0,)}
)}             


 


 <!--颜色TitleFontCOlor不为空时,加样式-->


 


 



{$IF("{$Field(TitleFontType,Text,0,...,0,0)}"="1"||</B>||)} <!--如果TitleFontType=1输出</b>,否则输出空-->
{$IF("{$Field(TitleFontType,Text,0,...,0,0)}"="2"||</I>||)} <!--如果TitleFontType=2输出</i>,否则输出空-->
{$IF("{$Field(TitleFontType,Text,0,...,0,0)}"="3"||</B></I>||)} <!--如果TitleFontType=2输出</b></i>,否则输出空-->


 


</a>


<span class="d">({$Field(Adddate,Text,0,...,0,)})</span>
</li>
[/loop]


 


 


 


请注意上面的注释说明.根据这个实例我们也可以看出,sql标签的if条件可以使用同时出现多对,但不能嵌套


 


 

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