Campo não atualiza

Olá !
Estou quebrando a cabeça aqui e não descubro o problema.
Tenho uma rotina em um evento ajax que não está atualizando o campo do formulario.
É um evento onchange ajax.
Outra coisa, nao posso usar o comando exit dentro desse evento se nao quiser que siga com o processamento?

Segue abaixo

$sql = “SELECT
estacao.estacao,
animais_estacao.id_lotes_estacao,
animais_estacao.idf,
animais_estacao.semen,
date(animais_estacao.data_hora),
lotes_estacao.tipo,
lotes_estacao.rm,
lotes_estacao.touro1
FROM
animais_estacao
INNER JOIN lotes_estacao ON (animais_estacao.id_lotes_estacao = lotes_estacao.id_lotes_estacao)
INNER JOIN estacao ON (lotes_estacao.id_estacao = estacao.id_estacao) where idf = '” . {mae} . “’
order by data_inicial asc”;

sc_lookup(rs, $sql);
if ({rs[0][3]}<>’’) { // semen
$dt1 = new DateTime({data_nascimento});
$dt2 = new DateTime({rs[0][4]});
$dias=date_diff($dt1,$dt2);
if ($dias->days >=275 and $dias<=300) // de inseminacao
{
// ele entra aqui pois testei com um echo e é mostrado na tela. mas o campo pai nao recebe o valor 000
{pai}=‘000’;
//{pai}={rs[0][3]};
}

	}

Qual o tipo de campo que está recebendo o valor?

String.
Se eu pegar essa linha e colocar após o sc_lookup, funciona.
{pai}={rs[0][3]};

Se eu colocar um exit no final, nao funciona… Exit da problema nesses eventos??
sc_lookup(rs, $sql);
{pai}={rs[0][3]};
exit;

Achei o problema…

if ($dias->days >=275 and $dias<=300) // de inseminacao
faltou o ->days depois do and.
Não deveria gerar um erro?

no seu select o [0][3] é o animais_estacao.semen este é o que vai para o {pai} ?

se for, verifique estas comparações, coloque um else para exibir cada um dos valores e veja se estão na faixa pode ser que não exiba que não esta atendendo o if

if ($dias->days >=275 and $dias<=300) // de inseminacao
{
       {pai}={rs[0][3]};
}
else
{
      echo "<br>Valores encontrados:";
      echo "<br>Dia 1 : ".$dias->days;
      echo "<br>Dia 2 :  ".$dias;
      echo "<br>Pai : ".{pai}={rs[0][3]};
}