if-statement - AMPScript 中的 IF 语句

标签 if-statement exacttarget ampscript

我对 if 语句有点问题,因为它只填充最后一个 elseif

%%[IF @Add3 == "Y" AND @Add4 == "Y" AND @Add5 == "N" THEN
        SET @WhichNom1 = "1"
        SET @WhichNom2 = "2"

ELSEIF @Add3 == "Y" AND @Add4 == "N" AND @Add5 == "Y" THEN
        SET @WhichNom1 = "1"
        SET @WhichNom2 = "3"

ELSEIF @Add3 == "N" AND @Add4 == "Y" AND @Add5 == "Y" THEN
        SET @WhichNom1 = "1"
        SET @WhichNom2 = "3"
]%%
@WhichNom1
@WhichNom2
%%[ENDIF]%%

当最后一个 ELSEIF 为 TRUE 时,上面的代码将显示两个变量。我需要做什么来检查 3 个语句并显示每个场景的 WhichNom1 和 WhichNom2?

最佳答案

如果最后一个 elseif 为真,您只打印变量。

像这样移动它们:

...    
ELSEIF @Add3 == "N" AND @Add4 == "Y" AND @Add5 == "Y" THEN

        SET @WhichNom1 = "1"
        SET @WhichNom2 = "3"
]%%
%%[ENDIF]%%

@WhichNom1
@WhichNom2

所以它们在 IF/ELSEIF 之外。这样它们将始终被打印,但变量将根据子句设置不同。

编辑:

如果您只想在其中一个语句为真时打印变量,那么您将(如您所提到的)需要在 if 语句中打印它们,或者您可以:

SET @WhichNom1 = ""
SET @WhichNom2 = ""

在 if 语句之前,然后在它们之后:

IF @WhichNom1 != "" THEN @WhichNom1
IF @WhichNom2 != "" THEN @WhichNom2

所以只有当它们被设置为“”以外的值时才打印它们。

关于if-statement - AMPScript 中的 IF 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24821848/

相关文章:

jquery - Internet Explorer 中的 "SCRIPT5009: ' handleResponse ' is undefined"

javascript - 无法在输入复选框标记中显示 Json 响应

html - 在移动 View 电子邮件 html 中打破特定字母的单词

php - CASE 语句检查任何字段是否为 NULL

Perl:在 if-else 语句中接受用户输入

javascript - 是否可以将 ExactTarget 与客户端 JavaScript 一起使用?

javascript - 是否可以从电子邮件中的链接触发 AMPscript?

c - 如果文件不存在,则用 C 创建并写入

javascript - for 循环和 if 语句