Recuperar dados do banco e modificar input html

Estou tentando popular alguns checkbox's com informações do banco, porém não consegui adequar nenhuma lógica para que isso ocorra.

Meu problema é o seguinte: em uma coluna do meu banco eu armazeno uma sequência de strings que são gravadas através de um cadastro, exemplo:PN[ ] , TT [ ] PJ [ ], tenho de preencher pelo menos uma checkbox ou todas, quando salvas essas são gravadas assim: caso preencha apenas duas: PN[ X ] , TT [ X ], no banco as informações estarão assim: PN-TT.

É ai que que ocorrê meu problema, caso eu queira editar essas informações queria saber como faço para identificar marcar como checadas as checkbox referentes a apenas essas informações?

Faltou postar os seguintes itens:

  • Como estão gravados esses itens no banco
  • Como está resgatando esses dados, código e tentativas
  • Html, Interface, etc …

Opa, blz !

Os dados estão sendo repassados através de um array de strings: $tipoNegocio = implode(’-’, $_POST[‘tiponeg’]);

pelo form:

* Tipo de negócio: PN TT LN

Ou seja, se seleciono apenas PN, ele grava PN, se PN e TT, PN-TT, TT e LN, TT-LN e assim sucessivamente, queria saber como resgatar isso selecionando as respectivas caixas de seleção conforme o que esta gravado no banco.

Puts não consigo inserir o código do form !

Pode tentar assim…

<input type="checkobox" <?=strstr($tipoNegocio, 'PN') ? 'checked' : ''?>>
<input type="checkobox" <?=strstr($tipoNegocio, 'LN') ? 'checked' : ''?>>
<input type="checkobox" <?=strstr($tipoNegocio, 'TT') ? 'checked' : ''?>>

Mais na doc…

http://php.net/manual/en/function.strstr.php

Olá amigos, consegui assim:

<div class="form-group">
            	<label>* Tipo de negócio: </label>
            	<label class="checkbox-inline">
               		<input type="checkbox" name="tiponeg[]" value="PN" <?php
													$tiponeg = 'PN';
													if(strpos($dados->tp_negocio, $tiponeg) !== false){
												?>
													checked
												<?php

													}
												?>
												>PN
                </label>
                <label class="checkbox-inline">
                	<input type="checkbox" name="tiponeg[]" value="TT" <?php
													$tiponeg = 'TT';
													if(strpos($dados->tp_negocio, $tiponeg) !== false){
												?>
													checked
												<?php

													}
												?>
												>TT
                </label>
                <label class="checkbox-inline">
                	<input type="checkbox" name="tiponeg[]" value="LN" <?php
													$tiponeg = 'LN';
													if(strpos($dados->tp_negocio, $tiponeg) !== false){
												?>
													checked
												<?php

													}
												?>
												>LN
                </label>
            </div>

Acho que não é a maneira mais elegante a se fazer mas, resolveu meu problema :D, se tiverem sugestões estou receptivo a elas.

O que te mostrei faz exatamente a mesma coisa e com menos código, basta trocar a variável $tipoNegocio por $dados->tp_negocio

Pesquise sobre if ternário em php…

1 curtida

Ok, obrigado mais uma vez rodevops ! Acho que o tópico pode ser fechado por algum moderador, vlwss.

Pra isso você precisa marca o post ao lado do “curtir”…

1 curtida