KesionCMS 帮助
帮助首页 V5.0使用手册(ASP) - 问题汇总

SQL标签中使用条件IF应用技巧一

0 2009/3/10 17:56:28

经常在坛子里看到一些用户对sql标签的条件使用不够了解,导致得不到预期的效果.今天给大家讲一下使用sql标签条件里,需要注意的一些细节问题.

标签格式:

{$IF(condition||out1||out2)} 

标签说明:当满足 condition 条件,输出out1,否则输出 out2,类似c,c#等语言里的三元运算符a?b:c,需要注意的时每个条件对都必须包含两个||
condition可以是任何支持asp的条件运行符(如=,〉,〈,〉=,〈=,〈〉等)和函数(如datediff,isdate,isarray等)

注意点说明:

  1. 这个标签只能应用于sql标签的循环体中,且不能嵌套,但可以平行出现多对使用
  2. 标签的condition部分必须是严格按照asp的语法书写
    举例说明
      a.如我们希望字段intro(varchar类型)为空时,输出"---",不为空时,原文输出. 
       正确写法1:
              "{$Field(intro,Text,0,...,0,)}"=""
       正确写法2:
              "{$Field(intro,Text,0,...,0,)}"=""

       错误写法1:
             {$Field(intro,Text,0,...,0,)}=""
       错误写法2:
          {ŠField(intro,Text,0,...,0,)}="空"

    关键在于上面加色的双引号是必须的,不能少
    比如intro字段为 "kesioncms",那么我们可以将上面理解为:
      正确写法1:
              "kesioncms"=""
       正确写法2:
              "kesioncms"=""

       错误写法1: 
             kesioncms=""
       错误写法2: 
           kesioncms="空"
    这样就可以清楚看出,1,2种是正确写法,后面的都是错误的,少了双引号
    再比如intro字段为空时,即没有内容.那么我们可以将上面理解为:

    正确写法1:
              "空"=""
       正确写法2:
              ""=""

       错误写法1: 
             空=""
       错误写法2: 
           ="空"
100%