if com dois campos um com calculo de data e outro vazio

(Arquimedes) #1

estou tendo dificuldade para fazer mais de uma instrução para o if, pois um campo calcula se tem mais de 365 dias e o outro eu gostaria que fosse exibido somente se estiver vazio
exemplo
a variavel $contrato_vencimento, funciona perfeitamente o problema é que nao estar verificando se o campo estar ou nao vazio estar entrando no laço sem verifica a variavel $data_atualizacao

//…
if

 ( $contrato_vencimento >= 365 || $data_atualizacao != "" )

{
sc_btn_display(‘correcao’, ‘on’);
sc_alert(“Este Contrato tem mais de 365 dias e historico vazio $contrato_vencimento”);
}

}

// …

codigo completo abaixo

$HOJE=date(“d-m-Y”);

sc_lookup(dataset,“SELECT c.data_contrato, hva.data_atualizacao FROM historico_valor_aluguel hva, contrato c where c.codigo ={codigo}”);
if(!empty({dataset})){

$data_contrato= {dataset}[0][0];
$data_atualizacao = {dataset}[0][1];

}

$calculo = sc_date_dif($data_contrato, “aaaa-mm-dd”,$HOJE , “dd/mm/aaaa”);

$contrato_vencimento=$calculo*-1;

if

 ( $contrato_vencimento >= 365 || $data_atualizacao != "" )

{
sc_btn_display(‘correcao’, ‘on’);
sc_alert(“Este Contrato tem mais de 365 dias e historico vazio $contrato_vencimento”);
}

else
{

sc_btn_display('correcao', 'off');
sc_alert("Esta é uma mensagem de alerta!! $ano_vencimento");

}

(Cleyton Euler) #2

Vc está usando OR nas comparações. Neste caso o IF retorna TRUE quando uma das duas comparações for TRUE. Acho que vc quer TRUE no IF quando as duas comparações forem verdadeiras, então vc deve usar AND ao invés de OR.

(Arquimedes) #3

blz, é isso mesmo, obrigado Cleyton