Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lui hurk

Alocar valores da checkbox por colunas no db.

Recommended Posts

E aí pessoal estou com uma certa dificuldade de trabalhar com o checkbox, a dificuldade é como eu aloco os valores em colunas separadas no bd, vou tentar ser breve com figuras.

Abaixo foi como desenvolvi até o produto:

Na figura 1 indicam os código em PHP e html para a checkbox.

Na figura 2 o formulário e as checkbox marcadas.

Na figura 3 o cadastro realizado repetitivamente 4x conforme as marcações nas cheks. (problema)

Na figura 4 o resultado conforme supracitado.

ENTENDIMENTO.jpg

Como pretendo:

Obviamente sendo resolvido o problema na alocação de dados não repetirá os mesmos, então vai o exemplo;

result.JPG

Observando conforme os comentários e, alocado de forma correta.

alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Ygor, vê se é por aqui...

Disto:

<input type='checkbox'   name="spam[]" id="cd" value="cd"/>
                        <label for="programada"> <strong>CD <strong>  </label>

Para :

<input type='checkbox'   name="cd" id="cd" value="cd"/>
                        <label for="programada"> <strong>CD <strong>  </label>



eliminando o array "spam"

No php:

Disto:

if ($_POST && isset($_POST['spam'])){
    $spam = $_POST['spam'];
    $data1 = $_POST["data1"];

Para:

$data1 = $_POST["data1"];
     $cd = $_POST["cd"];
    $sd = $_POST["sd"]; 
    $rd = $_POST["rd"]; 
    $sim = $_POST["sim"];
    $nao = $_POST["nao"];

No BD e query.

 $string_sql = "INSERT INTO fo_inserir (id,data1,cd,sd,rd,sim,nao,) VALUES (null,'$data1', '$aes','$cd','$sd','$rd','$sim','$nao')";


  
    mysql_query($string_sql,$conexao) or die(mysql_error()); 
     
    if(mysql_affected_rows() == 1){ 
        echo "<p>Cadastro feito com sucesso</p>";
        echo '<a href="form.php">Voltar para formulário de cadastro </a>'; cadastro
    } else {
        echo " <h5><center> <p class= lass> <div class=\"alert alert-danger fade in\"  role=\"alert\">Erro, não é possível inserir os dados no banco </div></center> </h5>'";
    }
   
    mysql_close($conexao); 

BD.JPG

Seria isto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então se for dentro desta instrução não de certo.

Notice: Undefined index: cd in C:\xampp\htdocs\wwV\formFull\connsim\aescadastrar.php on line 16

Notice: Undefined index: sd in C:\xampp\htdocs\wwV\formFull\connsim\aescadastrar.php on line 17

Notice: Undefined index: sim in C:\xampp\htdocs\wwV\formFull\connsim\aescadastrar.php on line 19

Cadastro feito com sucesso

Voltar para formulário de cadastro

As infos ficaram todas bagunçadas

   <div class="col-xs-8">
                             <div class="checkbox checkbox-success checkbox-inline">
                      
                        <input type='checkbox'   name="cd" id="cd" value="cd"/>
                        <label for="cd"> <strong>CD <strong>  </label>
                    </div>
                   <div class="checkbox checkbox-success checkbox-inline">
                        <input type='checkbox'   name="sd"  id="sd" value="sd"/>
                        <label for="sd"> <strong>SD <strong>  </label>
                    </div>
                    <div class="checkbox checkbox-success checkbox-inline">
                        <input type='checkbox'   name="rd"  id="rd" value="rd"/>
                        <label for="rd"> <strong>RD <strong> </label>
                    </div>
            <label class="control-label" for="inlineCheckbox9">   Condições Climáticas:</label>
           
              <div class="checkbox checkbox-success checkbox-inline">
                       <input type='checkbox'   name="sim"  id="sim" value="sim"/>
                        <label for="sim">  <strong>SIM <strong> </label>
                    </div>
                   <div class="checkbox checkbox-success checkbox-inline">
                       <input type='checkbox'   name="nao"  id="nao" value="nao"/>
                        <label for="nao">  <strong>NÃO <strong> </label>
                    </div>
                              </div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom pessoal deu certo aqui:

mantive o array;

<div class="col-xs-8">
                             <div class="checkbox checkbox-success checkbox-inline">
                      
                        <input type='checkbox'  required name="spam[]" id="cd" value="cd"/>
                        <label for="cd"> <strong>CD <strong>  </label>
                    </div>
                   <div class="checkbox checkbox-success checkbox-inline">
                        <input type='checkbox' required  name="spam[]"  id="sd" value="sd"/>
                        <label for="sd"> <strong>SD <strong>  </label>
                    </div>
                    <div class="checkbox checkbox-success checkbox-inline">
                        <input type='checkbox'  required name="spam[]"  id="rd" value="rd"/>
                        <label for="rd"> <strong>RD <strong> </label>
                    </div>
            <label class="control-label" for="inlineCheckbox9">   Condições Climáticas:</label>
           
              <div class="checkbox checkbox-success checkbox-inline">
                       <input type='checkbox' required  name="spam1[]"  id="sim" value="sim"/>
                        <label for="sim">  <strong>SIM <strong> </label>
                    </div>
                   <div class="checkbox checkbox-success checkbox-inline">
                       <input type='checkbox'  required name="spam1[]"  id="nao" value="nao"/>
                        <label for="nao">  <strong>NÃO <strong> </label>
                    </div>

Acrescentei um índice [0] : Retornando o array de strings criado, por dividir o parâmetro da string em limites formados pelo delimitador. evitando erro de Undefined offset: ERRO qual mostrava.

.

Excluí o foreach;

if(isset($_POST) && !empty($_POST)) {
     $spam = $_POST["spam"][0];
      $spam1 = $_POST["spam1"][0];
       $spam2 = $_POST["spam2"][0];
        $spam3 = $_POST["spam3"][0];
        $aes = $_POST["aes"];
      $data1 = $_POST["data1"];

Refiz a query e o bd;

E o resultado foi satisfatório:

table.JPG

:D Obrigado Ygor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.