Ir para conteúdo

POWERED BY:

Arquivado

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

Thiago Btos

[Resolvido] gravar check php+mysql

Recommended Posts

Olá gente, estou com uma duvida tremenda.

Fiz um formulário, com um radio e um checkbox, exemplo, com três alternativas cada.

Criei um html com os inputs e o php, buscando essas informações, para salvar no banco.

Porem não estou sabendo se estou fazendo certo, para buscar essas informações com php, e salvando corretamente no mysql.

E outra duvida, no banco, para salvar essas informações(radio e check), eu crio ele como tipo texto?

 

Obrigado!

 

perguntas.html

<form method="POST" action="perguntas.php">
       <label for="p1"><b>1</b>- Pergunta 1? </label><br />
           <input id="p1" type="radio" name="resp1" value="Sim" />Sim
           <input id="p1" type="radio" name="resp1" value="Não" />Não
           <input id="p1" type="radio" name="resp1" value="Talves" />Talves

       <label for="p2"><b>2</b>- Pergunta 2</label><br />
           <input id="p2" type="checkbox" name="resp2" value="op1" />opção 1
           <input id="p2" type="checkbox" name="resp2" value="op2" />opção 2
           <input id="p2" type="checkbox" name="resp2" value="op3" />opção 3

       <input type="submit" name="enviar" value="Enviar Dados!" />

 

perguntas.php

<?php

include "conecta_mysql.inc";

   $r1 = $_POST["resp1"];
   $r2 = $_POST["resp2"];

   $sql = "INSERT INTO perguntas VALUES";
   $sql .= "('$r1','$r2')";
   $resultado = mysql_query($sql);

mysql_close($conexao);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

primeiro, os checkboxes precisam ter names e id's diferentes

 

no banco de dados, você pode usar um campo do tipo char(1)

para o resp1 o campo poderia ter os valores 'S' (sim), 'N' (não) e 'T'(talvez)

 

para os checkboxes, cada um vai ter um campo separado, sendo 'S' se estiver marcado e 'N' se não estiver marcado

 

para saber se o checkbox está marcado você pode fazer assim:

if(isset($_POST['checkbox1']) && $_POST['checkbox1'] == true){
   $checkbox1 = 'S';
} else {
   $checkbox1 = 'N';
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver o meu problema,

a solução foi: no html, no checkbox colocar no name com array [], e no php, selecionar usando o implode.

 

perguntas.html

<form method="POST" action="perguntas.php">
       <label for="p1"><b>1</b>- Pergunta 1? </label><br />
           <input id="p1" type="radio" name="resp1[]" value="Sim" />Sim
           <input id="p1" type="radio" name="resp1[]" value="Não" />Não
           <input id="p1" type="radio" name="resp1[]" value="Talves" />Talves

       <label for="p2"><b>2</b>- Pergunta 2</label><br />
           <input id="p2" type="checkbox" name="resp2" value="op1" />opção 1
           <input id="p2" type="checkbox" name="resp2" value="op2" />opção 2
           <input id="p2" type="checkbox" name="resp2" value="op3" />opção 3

       <input type="submit" name="enviar" value="Enviar Dados!" />

 

 

perguntas.html

<?php

include "conecta_mysql.inc";

   $r1 = implode(', ', $_POST["resp1"]); //aqui eu gravei o checkbox tudo em uma linha, separado por (virgula e espaço)
   $r2 = $_POST["resp2"];

   $sql = "INSERT INTO perguntas VALUES";
   $sql .= "('$r1','$r2')";
   $resultado = mysql_query($sql);

mysql_close($conexao);
?>

 

Vlw ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

gostaria de aproveitar a duvida do colega...

 

ele gravou no campo os values separados com , e espaco -> 1, 2, 5 ...

 

eu tenho um form onde os checks são criados dinamicos (subcategoria)

 

como fazer para carregalos e fazer check ??

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.