Campo com declaração "if---else"

Boa noite a todos. Tenho uma aplicação com um campo numérico calculado (“soma_risco_cardio”) e um outro campo texto (“categ_risco_cardio”), cujo valor está relacionado ao valor do campo calculado…

Se esse valor for <=8, o campo deve ter o valor: “Sem risco importante.”;
se for entre 9 e 17, o valor é: “Risco baixo.”;
entre 18 e 40: “Risco moderado.”;
entre 41 e 59: “Risco alto!”;
maior que 59: “Risco muito alto; perigo iminente!”…

Como posso fazer para atribuir esses valores ao campo “categ_risco_cardio”, de acordo com o valor de “soma_risco_cardio”?

Sei que posso fazer isso como Evento Ajax, mas não sei a sintaxe correta dos “ifs/elses”…

Desculpem explorá-los… mas ainda estou aprendendo SQL e Scriptcase ! Avançando aos poucos…

Seria mais ou menos assim, teu evento Ajax:

if({soma_risco_cardio} <= 8 ) {
{categ_risco_cardio} = ‘Sem risco importante’;
} else if({soma_risco_cardio} <= 17) {
{categ_risco_cardio} = ‘Risco baixo’;
} else if({soma_risco_cardio} <= 40) {
{categ_risco_cardio} = ‘Risco moderado’;
} else if({soma_risco_cardio} <= 59) {
{categ_risco_cardio} = ‘Risco alto’;
} else {
{categ_risco_cardio} = ‘Risco muito alto; perigo iminente’;
}

Muito obrigado, Kleyber ! Assim que fechar meu prontuário médico, te mostro !

Regra geral é a utilização switch sempre que o número de condições for superior a 3 (para facilitar a leitura).
if / else if / else é mais flexível (daí melhor), mas switch é ligeiramente mais rápido porque ele só calcula
a condição de uma vez e, em seguida, verifica para a saída, enquanto que if tem que fazer isso toda vez.

** MESMO QUE NÃO TIVER OPÇÃO 0 (ZERO) NA SUA VARIAVEL TEM QUE COLOCAR:
case 0:
case 1:
echo “i igual a 1”;
break;

SWITCH para usar em vez de Vários IFs

switch ($i) {
case 0:
echo “i igual a 0”;
break;
case 1:
echo “i igual a 1”;
break;
case 2:
echo “i igual a 2”;
break;
}

http://php.net/manual/pt_BR/control-structures.switch.php

  • Dica: sempre que codificar algo, pense que ‘alguém’ vai ter que fazer manutenção naquele código daqui 10 anos, ai queremos facilitar ‘pro alguém do futuro’.

rsrsrsrs valeu, Jailton.

Obrigado, Jailton!

Uma outra dúvida complementar… eu tenho como mudar o CSS do meu campo, de acordo com o valor do mesmo?

Exemplificando…situação 1 = fundo verde… situação 2: fundo amarelo… situação 3: fundo vermelho…

Prezado Aureo,

Na consulta no (onRecord) use:

sc_field_style({Meu_Campo}, “Background-Color”, “Size”, “Color”, “Family”, “Weight”)
Ex. 01:
sc_field_style({data_nasc}, ‘#33FF99’, ‘15px’, ‘#000000’, ‘Arial, sans-serif’, ‘bold’);

ou

Na consulta/Report PDF ( no onScriptInit ou onRecord )

sc_field_color(“Campo”, “Cor”)
Ex. 1:sc_field_color (“clienteid”, “#33FF66”);
Ex. 2: Altera a cor de texto do campo “valor_pedido”, se o valor for maior que 1000. Caso contrário, mantem a cor padrão.
if ({valor_pedido} > 1000)
{
sc_field_color (“valor_pedido”, “#33FF66”);
}
else
{
sc_field_color (“valor_pedido”, “”);
}

Att.
Geison Farias

Muito obrigado, Geison. Vou testar !