2
respostas

PHP e checkbox, preciso de uma solução

Estou criando a página de edição de matrículas escolares. Há uma coleção de inputs do tipo checkbox que devem ser selecionados (checked) de acordo com o que foi preenchido no formulário de matrícula no caso de o aluno em questão apresentar alguma necessidade especial. Acontece que não estou conseguindo marcar o checkbox na página de edição.

Os inputs selecionados (no momento da matricula) estão salvos no banco de dados em uma única célula da tabela da seguinte maneira:

Deficiente Visual###Deficiente Auditivo###Deficiente Físico###Deficiência Múltiplas###Superdotato Habilitações Especiais###Problemas de Conduta###Outro(s)

Como selecionar esse checkbox na página sem apresentar erro e de maneira correta usando PHP?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Consegui uma maneira de solucionar o problema. Até então não conhecia a função nativa do PHP in_array(). Logo que tomei conhecimento da sua existência, o algoritmo foi fluindo dentro da minha cabeça e "codei". O código abaixo funciona, mas não sei se existe alguma outra solução.

 $APNE_Selecionados = $dadosDaMatricula['APNE_Aluno_Matricula'];
                $APNE_Separados = explode("###", $APNE_Selecionados);

                //Checked
                function marcarOpcao($texto){
                    global $APNE_Selecionados, $APNE_Separados;
                    $lista11 = $APNE_Separados;
                    $seTiver = in_array("$texto", $lista11);
                    if($seTiver){
                        echo "checked";
                    }
                }

Olá Welton, tudo bem?

Não sei como está o restante do código, mas parece que a solução que você encontrou resolve o problema. Parabéns!

Só uma observação, não entendi porque você fez isso:

$lista11 = $APNE_Separados;

Se você poderia ter usado a variável $APNE_Separados diretamente na função ìn_array:

    $seTiver = in_array("$texto", $APNE_Separados);

Bons estudos, Welton :)