Boa noite pessoal.
Mais uma vez venho pedir ajuda dos colegas do fórum.
Tenho uma tabela que contem codigo, descricao e categoria
Código Descrição Categoria
002 Atendimento G
002.01 Atendimento Enfermeiro SG
002.01.01 Puericultura D
002.01.02 Pré-Natal D
002.01.03 Prevenção do Câncer Cérvico-Uterino D
.
.
.
Com base nisso criei 3 campos do tipo select:
Grupo -> traz somente categoria G
Sub_Grupo -> traz somente categoria SG
Descricao -> traz somente categoria D
A idéia é quando o usuário selecionar um determinado Grupo por exemplo 002 o campo Sub_Grupo é carregado somente com os códigos 002 cuja a categoria seja SG. Os Sub_Grupos pertencentes ao código 002 ele terá que selecionar só assim será carregado o campo Descricao de categoria D cujo o código seja 002.01.xx
No campo Grupo no evento onChange coloquei o seguinte código:
$sql = "SELECT
codigo
FROM
procedimento pr
WHERE
(idprocedimentos = '{grupo}')";
sc_lookup(rs, $sql);
[var] = {rs[0][0]};
$var=[var];
echo $var;
Aqui ele está pegando o valor escolhido pelo usuário no campo Grupo através do select.
O echo está me mostrando o valor correto escolhido pelo usuário.
Acontece que ao executar pela primeira vez o campo Sub_Grupo é carregado corretamente.
Ao voltar para o campo Grupo para selecionar outro valor supondo que o usuário escolheu um valor errado o campo Sub_Grupo não pega mais o valor escolhido atualmente pelo usuário ficando carregando sempre o penúltimo valor escolhido pelo usuário.
O código que coloquei no Loockup de Edição do campo Sub_Grupo é:
SELECT pr.idprocedimentos,
concat(pr.codigo,' - - ',pr.descricao)
FROM
procedimento pr
WHERE
(categoria = 'SG' AND pr.codigo LIKE '[var]%')
ORDER BY
pr.codigo
Vídeo relacionado a minha dúvida http://www.bycelso.com.br/bg/videos/erroSelect/index.html:
Onde estou errando?