Ir para conteúdo

POWERED BY:

Arquivado

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

Michel Kuguio

[Resolvido] checkbox dinamico, como fazer a gravação de dados?

Recommended Posts

Tenta assim:

 

<tr>
<td><div align="right"><font face="Courier New, Courier">Título:</font></div></td>
<td><div align="left"><font color="#FF0000" size="2">* (Multipla Escolha)</font></div></td>
<?php
   $Sql = "SELECT * FROM ......... (tabela que você criou)";
   $Resultado = executa($Sql);
$colunas = 1;
$i = 0;
while($linha =pg_fetch_array($Resultado)){
   $id_teste = $linha["id_teste"];
   $teste = $linha["teste"];
?>
<tr><td> </td><td width="54%"><input type="checkbox" name="teste[]" id="teste"
value="<?php echo "$id_teste"; ?>"><?php echo "$teste"; ?>
<?php
$i++;
if($i == $colunas)
   echo "<br>";
if($i >= $colunas)
   $i = 0;  }
   ?>
</tr>

 

Faz um teste aí.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:

 

<tr>
<td><div align="right"><font face="Courier New, Courier">Título:</font></div></td>
<td><div align="left"><font color="#FF0000" size="2">* (Multipla Escolha)</font></div></td>
<?php
   $Sql = "SELECT * FROM ......... (tabela que você criou)";
   $Resultado = executa($Sql);
$colunas = 1;
$i = 0;
while($linha =pg_fetch_array($Resultado)){
   $id_teste = $linha["id_teste"];
   $teste = $linha["teste"];
?>
<tr><td> </td><td width="54%"><input type="checkbox" name="teste[]" id="teste"
value="<?php echo "$id_teste"; ?>"><?php echo "$teste"; ?>
<?php
$i++;
if($i == $colunas)
   echo "<br>";
if($i >= $colunas)
   $i = 0;  }
   ?>
</tr>

 

Faz um teste aí.

 

valew, mas acho q eu não soube me explicar melhor...

a parte do checkbox eu consegui fazer mas como recupero os resultados selecionados? é q parece q ele esta somando os ids selecionados ou está selecionando só um, pq por exemplo eu marco 5 opções e no resultado ao invés de mostrar 5 opções aparece só uma, como se alguém tivesse marcado uma ou os resultado fosse somados, gostaria de saber como recuperar os valores?

 

OBS. gostei do seu código, eu tinha feito diferente mas achei o seu bem mais trabalhado! xD

 

meu erro foi no nome com []

agora ele vira um array.. mas eu sou meio iniciante na area com q eu faço para pegar o resultado do array e gravar em um tabela? é q se nao vou ter q mandar para inputs invisiveis para depois submeter =S..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Michel

Realmente, não entendi bem sua dúvida. Coloca pelo menos uma parte do código, e se possível detalhe melhor sua dúvida. Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pegando seu código como exemplo, digamos q no formulário aparecerá 15 checkbox, e eu sou o cliente e marco 5 checkbox, após submeter o post o resultado vai chegar em forma de array, se fosse um input eu só pegaria o valor e usava um INSERT INTO e colocaria no campo q eu queria, porem como é um array terá vários valores, pensando nisso como eu faria para aplicar esses valores na minha base de dados, porque todos valores em uma unica coluna não iria me atrapalhar?

ai eu tava pensado em criar uma tabelo cliente e categoria por exemplo.. e colocar id co cliente escolheu, categoria tal.. assim ele marcando 5 categorias nessa tabela terá 5 linhas contendo id do cliente e id da categoria.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exatamente. Imagino que voce tenha a tabela "clientes", a tabela "categorias" e uma terceira tabela "categorias_cliente" onde você salva o id do cliente e da categoria, e se o cliente tiver 05 categorias ele vai inserir 05 linhas nesta terceira tabela, repetindo o id do cliente e incluindo o código de cada categoria.

Vou tentar te passar a idéia.

 

Arquivo recebe_dados:

$cliente = $_POST ["cliente"];
$categoria = $_POST ["categoria"]; // Array das categorias marcadas pelo cliente

    //Insere dados na tabela "clientes"
   $Sql = "INSERT INTO clientes (cliente, ........)
VALUES ('$cliente',.....)returning id_cliente"; // Retorna o "id" do cliente que voce está cadastrando
   $Resultado = executa($Sql);
   if (is_resource($Resultado)) {
   $obj = pg_fetch_object(($Resultado));
   $id_cliente_atual = $obj->id_cliente; // Cria variavel, contendo o "id" do cliente que está cadastrando
   }

    // Insere categorias relacionados ao cliente que esta sendo cadastrado na tabela "categorias_cliente"
for($i=0; $i<count($categoria); $i++) {
   $Sql = "INSERT INTO categorias_cliente (cliente_id, categoria_id)
VALUES ('$id_cliente', '$categoria[$i]')";
   $Resultado = executa($Sql);
}

 

Isso deve te ajudar.

OBS: Todos os códigos estão voltados para inserção em banco de dados Postgre. Se você estiver utilizando outro BD, deve fazer as alterações necessárias.

Testa aí, e qualquer dúvida estamos a disposição. Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Corrigindo.

 

   $Sql = "INSERT INTO categorias_cliente (cliente_id, categoria_id) 
VALUES ('$id_cliente', '$categoria[$i]')"; 

 

   $Sql = "INSERT INTO categorias_cliente (cliente_id, categoria_id) 
VALUES ('$id_cliente_atual', '$categoria[$i]')"; 

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.