Senhores, bom dia, tendo em vista exercitar o que venho aprendendo, no curso de php, resolvi desenvolver alguns formulários, e como já era de se esperar diversos problemas estão surgindo. Em um dos meus formulário existe um campo do tipo select múltiplos, que a partir da seleção feita pelo usuário, as informações são gravadas em um tabela auxiliar e vinculadas a tabela principal com base no id.
Até ai tudo bem , mas a dificuldade apareceu durante a criação da página de alteração de dados, no campo multiselect. Pois, não conseguir trazer as informações cadastradas pelo usuário.
A variável `$interfaces` trás a lista de todas as interfaces cadastradas, enquanto a variável `$interfacesServidor` vem opções que diz respeito a um servidor. Detalhe, já usei a lógica abaixo, mas não obtive êxito.
<?php
if (in_array($interface->getId(), $interfacesServidor)
{
echo " selected";
}
?>
$interfaceDao = new InterfaceDao($conexao);
$interfaces = $interfaceDao->listaInterface();
$interfacesServidor = $interfaceDao->listaInterfaceServidor();
label class="col-sm-2 control-label">Interfaces</label>
<div class="col-sm-4">
<select multiple size="6" class="form-control" name="interface[]" required="required">
<?php foreach ($interfaces as $interface) :?>
<option value="<?=$interface->getId()?>"><?=$interface->getNome()?></option>
<?php endforeach ?>
</select>
</div>