Jump to content
gersonab

update select option com dados do banco

Recommended Posts

bom dia.

estou com um problema aqui, quando vou fazer update de uma página com dados vindos do banco os select option mostra os dados corretamente porém os value capturados não estão corretos, um exemplo, se for de cidades vem no value somente o primeiro nome da cidade enquanto na exibição do nome vem completo, logo, quando faço o update grava somente o primeiro nome, pois esta se dividindo e criando campos.

<select class="form-control" name="cidade">
  <option value="">-- Selecionar --</option>
  <?php
$curc4 = $pdo->query("SELECT * FROM comarca ORDER BY comarc asc");
while ($lic4 = $curc4->fetch(PDO::FETCH_ASSOC)) {
echo "<option value=".$lic4['comarc']." ".($cidade == $lic4['comarc'] ? "selected":"")." >".$lic4['comarc']."</option>";
} ?> 
</select>

como é mostrado no console:

<option value="ANGRA" dos="" reis="">ANGRA DOS REIS</option>

desde já agradeço ajuda

Share this post


Link to post
Share on other sites

fiz uma modificação, parte do erro sumiu, no entanto o select option me retorna vazio pq esta vindo desta forma conforme o log

<option value="ANGRA DOS REISselected">ANGRA DOS REIS</option>

 

Share this post


Link to post
Share on other sites

Ainda não consigo trazer o option selecionado que esta no BD

echo "<option value=\"".$lic4['comarc']."\" ".($cidade == $lic4['comarc'] ? "selected":"").">".$lic4['comarc']."</option>";

no log

<option value="ANGRA DOS REIS">ANGRA DOS REIS</option>

 

Share this post


Link to post
Share on other sites

outra forma que eu tentei foi :

 <option <?php if($cidade == $lic4['comarc']) {echo 'selected'; } ?> value="<?php echo $lic4['comarc']; ?>"><?php echo $lic4['comarc']; ?></option>

o select option vem com todos os dados do banco normalmente, porém não vem com o dados setado para edição caso necessário, vem em branco, aí tendo que ser refeito, precisando ou não.

nessa situação como exposta no início, se eu trabalhar com o id da tabela comarca, e estiver gravado o id na outra, funciona perfeitamente, mas com nomes não.

echo "<option value=".$lic4['idcomarc']." ".($idcidade == $lic4['idcomarc'] ? "selected":"")." >".$lic4['comarc']."</option>";

mas porque com os nomes não consigo ????

Share this post


Link to post
Share on other sites

resolvi desta forma, vou deixar aqui a solução que encontrei para ajudar quem precise, pode não ser a ideal, mas deu certo aqui.

<label>Comarca </label>
<select class="form-control" name="cidag">
  <option value="">-- Selecionar --</option>
  <?php
$curc4 = $pdo->query("SELECT * FROM comarca ORDER BY comarc asc");
while ($lic4 = $curc4->fetch(PDO::FETCH_ASSOC)) {
$comarc=$lic4['comarc'];
if($cidag == $comarc){
$selected = "selected";
} else {
$selected = " ";
}
?>
  <option value="<?php echo $comarc;?>" <?php echo $selected;?> ><?php echo $comarc;?></option>
<?php } ?> 
</select>

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By asacap1000
      Galera já não sei mais onde procurar, estou configurando o processo de login com certificação digital porém não consigo ler o retorno. No site da Certisign explica em java e .Net mas utilizo em minha aplicação da intranet tudo em PHP como eu teria que fazer. Segue exemplo que eles fornecem em .Net
       
      <form action="https://autenticador.certisign.com.br/CertisignLogin/certificado/login" method="get"> <input type="hidden" value="209" id="id" name="id"> <input type="hidden" value="CHAVE CRIPTOGRAFICA INICIAL" id="nome" name="nome"> <input type="hidden" value="http://www.seusite.com.br/suaAplicacao/retorno" id="retorno" name="retorno"> <div> <input type="image" src="images/ico-certisign_30x30.png" alt="Submit" id="btnLoginCertisign"> </div> </form> O de cima envia até aí tudo bem
       
      Abaixo o retorno que é o que não consigo fazer em PHP
       
      string retorno = Request["cb"]; string encryptionKey = "<conteúdo da chave criptográfica descarregada na etapa 2>"; retorno = CryptoLogin.Instance.DecryptText(retorno,encryptionKey);</conteúdo> A variável retorno deverá mostrar as informações como o exemplo aaixo.
       
      CertificadoBean: { emissor: Certisign Autoridade Certificadora TESTE, nome: "PROPRIETARIO DO CERTIFICADO DE TESTE", cpf: "001.002.003-44", cnpj: "", OAB: "", validade: "2015-05-27 20:59:59", emissao: "2014-05-27 21:00:00", email: "proprietario.teste@certisign.com.br", certificadoBase64: "MIIFmDCCBICgAwI...... BAQUFADCCARAx" }  
    • By Camilavip
      Queria saber como fazer esse select e quando eu trazer um estado ele já puxa as cidades contidos nele, e ao escolher a cidade ele trazer os bairros. Consegui pela internet mas só com estados e cidades. no caso em 2 níveis, e eu precisaria em 3, faço pelo mysqli
       
      Em estados no banco está assim
      CREATE TABLE `estados` ( `id_estado` int(10) NOT NULL, `estado` varchar(30) NOT NULL ) ENGINE=Aria DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `estados` -- INSERT INTO `estados` (`id_estado`, `estado`) VALUES (1, 'Rio de Janeiro'), (2, 'Minas Gerais'); Cidades
      CREATE TABLE `cidades` ( `id_cidade` int(10) NOT NULL, `id_estado` int(10) NOT NULL, `cidade` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `cidades` -- INSERT INTO `cidades` (`id_cidade`, `id_estado`, `cidade`) VALUES (1, 1, 'Rio de Janeiro'), (2, 2, 'Belo Horizonte'); E bairros
      CREATE TABLE `bairros` ( `id_bairro` int(10) NOT NULL, `id_cidade` int(10) NOT NULL, `bairro` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `bairros` -- INSERT INTO `bairros` (`id_bairro`, `id_cidade`, `bairro`) VALUES (1, 1, 'Centro'), (2, 1, 'Tijuca'), (3, 1, 'Leblon'), (4, 2, 'Pampulha');  
    • By danilo759
      Estou com uma dúvida, em uma tabelinha é cadastrado a data em uma coluna e a hora em outra coluna, então para "juntar" podemos usar CONCAT() no SELECT. Tudo certo...
       
      SELECT id, CONCAT(data_ini, ' ', hora_ini) as inicio FROM tabela

      Retorna como esperado:

       

      Minha dúvida é, se eu quiser exibir o horário de término para ficar assim como seria a consulta? Lembrando que não existe as colunas data_final e horario_final.

      2020-09-13 03:00:00 2020-09-13 04:00:00
      2020-09-13 04:00:00 2020-09-13 05:00:00
      2020-09-13 05:00:00 ....
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.