ColdFusion RecordCount как несколько условных

Я хотел бы запустить один запрос + вывод, и если записи не существуют, запустите второй запрос + вывод, и в случае, если у обоих нет записей, затем перенаправьте на

<test1.RecordCount eq 0>

но проблема в том, что я могу использовать только один <cfelse>

Любая идея?

Код для одного запроса + вывод и RecordCount

<cfif test1.RecordCount eq 0>
    <!--- Display some message.--->
<cfelse>
    <cfoutput query="test1">
        <!--- Display some other message --->
    </cfoutput>
</cfif>

person Stefan M.    schedule 09.05.2018    source источник
comment
Другие теги, которые могут оказаться полезными, это <cfelseif> и <cfswitch>.   -  person Dan Bracuk    schedule 09.05.2018


Ответы (1)


Если я правильно понял ваш вопрос, вы сможете использовать вложенные условия <cfif ...>.

Что-то типа:

<cfif test1.RecordCount gt 0>
    <cfoutput query="test1">
        <!--- Display test1 query results --->
    </cfoutput>
<cfelse>
    <cfif test2.RecordCount gt 0>
        <cfoutput query="test2">
            <!--- Display test2 query results --->
        </cfoutput>
    <cfelse>
        <!--- Display some message.--->
    </cfif>
</cfif>

Или вы можете использовать <cfelseif> следующим образом:

<cfif test1.RecordCount gt 0>
    <cfoutput query="test1">
        <!--- Display test1 query results --->
    </cfoutput>
<cfelseif test2.RecordCount gt 0>
    <cfoutput query="test2">
        <!--- Display test2 query results --->
    </cfoutput>
<cfelse>
    <!--- Display some message.--->
</cfif>
person Miguel-F    schedule 09.05.2018
comment
Нам не нужно <cfif test1.RecordCount gt 0> , вместо этого мы можем проверить <cfif test1.RecordCount>. это тоже будет работать. - person jawahar N; 29.09.2018
comment
@jawaharN, хотя вы правы в том, что дополнительный текст не нужен, я включил его в свой ответ, потому что он помогает лучше проиллюстрировать, что на самом деле происходит. Если бы я не включил часть gt 0, кто-то мог бы ошибочно подумать, что RecordCount возвращает логическое значение, а это не так. - person Miguel-F; 29.09.2018