2
respostas

Como popular um formulário com dados do banco - Base da função editar

Galera, tudo bem?

Estou tendo algumas dificuldades para recuperar dados gravados no banco de dados.

Não consigo fazer o select ser povoado. Já tentei usando if, switch e nada.

<?php 
     $estadoCivilVerifica = $hospede['estado_civil'];

      if ('solteiro' == $estadoCivilVerifica) {
          echo "Solteiro";
          $selecao = "selected=selected";
      }
      if ("casado" == $estadoCivilVerifica) {
          echo "Casado";
           $selecao = "selected=selected";
       }
       if ("viuvo" == $estadoCivilVerifica) {
           echo "Viuvo";
           $selecao = "selected=selected";
         }
         if ("divorciado" == $estadoCivilVerifica) {
              echo "Divorciado";
               $selecao = "selected=selected";
          }
          if ("outro" == $estadoCivilVerifica) {
               echo "Divorciado";
               $selecao = "selected=selected";
             }

           else {
             $selecao = " ";
            }
  ?>
 <select class="form-control"  name="estadoCivilHospede" id="estadoCivilHospede" required>
       <option value="solteiro" <?=$selecao ?> >Solteiro (a)</option>
         <option value="casado" <?=$selecao ?> >Casado (a)</option>
         <option value="viuvo" <?=$selecao ?> >Viúvo (a)</option>
         <option value="divorciado" <?=$selecao ?> >Divorciado (a)</option>
         <option value="outro" <?=$selecao ?> >Outro</option>
</select>

Usando este código todos os options ficam com o atributo selected=selected E não adianta nada.

Você pode, por favor, me dar uma luz?

Muito obrigado tenha uma excelente semana.

2 respostas

Tente fazer desta forma:

<?php 

function ValidarCombo($valor){
    $retorno = "";
    $valor = strtoupper($valor)
    if ($valor == 'SOLTEIRO'){
        $retorno = " selected";
    }
    if ($valor == 'CASADO'){
        $retorno = " selected";
    }
    if ($valor == 'VIUVO'){
        $retorno = " selected";
    }
    if ($valor == 'DIVORCIADO'){
        $retorno = " selected";
    }
    if ($valor == 'OUTRO'){
        $retorno = " selected";
    }
    return $retorno;
}
?>
 <select class="form-control"  name="estadoCivilHospede" id="estadoCivilHospede" required>
       <option value="solteiro" <?=ValidarCombo($hospede['estado_civil']) ?> >Solteiro (a)</option>
         <option value="casado" <?=ValidarCombo($hospede['estado_civil']) ?> >Casado (a)</option>
         <option value="viuvo" <?=ValidarCombo($hospede['estado_civil']) ?> >Viúvo (a)</option>
         <option value="divorciado" <?=ValidarCombo($hospede['estado_civil']) ?> >Divorciado (a)</option>
         <option value="outro" <?=ValidarCombo($hospede['estado_civil']) ?> >Outro</option>
</select>

Daniel, muito obrigado.

Deu certinho!

Abraço tenha uma excelente semana.